ios更改子视图索引运行时

man*_*urt 12 z-index uiview ios

我打算用标签做一些菜单,

如果我有z索引的标签,我插入每个标签:

insertSubview:(UIView*)atIndex:(NSInteger)

然后按下它们顶部的按钮,我想更改顶部显示的标签

如何在运行时更改子视图索引?

谢谢!

Jus*_*Sid 44

sendSubviewToBack:并且bringSubviewToFront:是您正在寻找的方法.另一种可能性是exchangeSubviewAtIndex:withSubviewAtIndex:如果你想交换两个视图的层.


cwe*_*ger 15

1.从superview移除

2.插入新索引

[containerView insertSubview:subview atIndex:newIndex];
Run Code Online (Sandbox Code Playgroud)

  • 你实际上不需要调用`[subview removeFromSuperview];`.调用`insertSubview:atIndex:`,`insertSubview:aboveSubview:`和`insertSubview:belowSubview:`如果子视图有一个,将自动删除现有的superview.以下是UIView文档的引用:"视图只能有一个超级视图.如果视图已经有超视图,并且该视图不是接收者,则此方法会在使接收者成为新的超级视图之前删除先前的超视图." (23认同)