我有一个关于它的大约30个子视图的视图。我想在子视图的viewcontroller中添加代码,这样当我点击子视图时,子视图会扩展以填充屏幕。
我正在使用[self.view setFrame:rect]
来扩展子视图,这很好用。问题是其他29个子视图中的一些超出了我刚刚点击的子视图,因此它们仍然可见。
我尝试使用父视图控制器中的bringSubviewToFront
,但这似乎没有效果。我可以在子视图的viewcontroller类中添加任何代码来实现这一点吗?
答案 0 :(得分:164)
bringSubviewToFront应该可以使用,只需确保您正确使用它。用法是。
[parentView bringSubviewToFront:childView];
答案 1 :(得分:11)
使用此代码,即使您不了解superView:
在objective-c:
[subview.superview bringSubviewToFront: subview];
在swift中:
subview.superview?.bringSubview(toFront: subview)
答案 2 :(得分:2)
为了便于使用 Swift 3
中的扩展程序extension UIView {
func bringToFront() {
self.superview?.bringSubview(toFront: self)
}
}