以编程方式发送到从界面构建器创建的前/后元素


84

在Interface Builder中,有布局选项发送到备份或发送到前方的任何元素,例如UIButtonUIImageUILabel等...

现在,我想以编程方式在运行时执行相同的操作。

有一个简单的方法吗?

我不想创建其他视图,只需更新z轴即可。

Answers:


192

有许多方法UIView可让您修改视图层次结构。

由于视图已经插入到父视图中,因此您可以bringSubviewToFront:按自己喜欢的顺序轻松地为每个视图调用一次。


您是说我不能直接将UIButton发送到正面/背面吗?我必须创建一个视图并将其添加到该视图。然后使用上面的方法?如果是这样,控制器类是创建此类视图的地方吗?
Yohann T.

11
UIButton是UIView的子类。只需调用:[[myButton superview]带上子视图ToFront:myButton];
塞巴斯蒂安·塞利斯2009年

只是为了澄清我的一个小疑问:如果您插入一个已经在视图层次结构中的子视图,则OS只会移动其位置。因此,只要视图存在就插入不会造成任何开销。
olivaresF

bringSubviewToFront:以您喜欢的任何顺序为每个视图调用一次”真是个绝招。好一个
2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.