views:

103

answers:

2

I have a view between other views, the order may vary. For example: viewA on top of viewB, 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.

+1  A: 

From http://stackoverflow.com/questions/2343432/how-to-get-uiview-hierarchy-index-i-e-the-depth-in-between-the-other-subvie

int index = [[superView subviews] indexOfObject:viewC];
huggie
amazing!!!! you are awesome! thanks!!!!!!!!!!!!
Digital Robot
A: 

Besides getting the index, you could also use -insertSubview:aboveSubview: (and …belowSubview:):

UIView* superview = self.view;
[superview insertSubview:viewZ aboveSubview:viewC];
[viewC removeFromSuperview];
KennyTM