I have a view between other views, the order may vary. For example: viewA on top of viewB,开发者_如何学Python on top of viewC, or in another order.
Suppose I have
viewA, viewB, viewC, viewD and viewE
A is on the top and E on the bottom.
I need to replace viewC with viewZ, but I need to insert viewZ in the same index of viewC.
How do I know, before removing viewC, what index it has, so I can insert viewZ using
[self.view insertSubview:viewZ atIndex:?????)
and it will be at the same level?
thanks for any help.
From How to get UIView hierarchy index ??? (i.e. the depth in between the other subviews)
int index = [[superView subviews] indexOfObject:viewC];
Besides getting the index, you could also use -insertSubview:aboveSubview:
(and …belowSubview:
):
UIView* superview = self.view;
[superview insertSubview:viewZ aboveSubview:viewC];
[viewC removeFromSuperview];
精彩评论