当你点击它时如何把子视图放到前面?
我有一个约30个子视图的观点。 我想在我的子视图的viewcontroller中添加代码,以便当我点击子视图时,子视图展开以填充屏幕。
我正在使用[self.view setFrame:rect]
展开子视图,这工作正常。 问题是其他29个子视图中的一些位于我刚才点击的子视图的上方,所以它们仍然可见。
我已经尝试从父bringSubviewToFront
使用bringSubviewToFront
,但这似乎没有任何效果。 有没有我可以放在我的子视图的viewcontroller类,使这种情况发生的代码?
bringSubviewToFront应该工作,只要确保您正确使用它。 用法是。
[parentView bringSubviewToFront:childView];
使用这个代码,即使你不了解superView:
在objective-c中:
[subview.superview bringSubviewToFront: subview];
在迅速:
subview.superview?.bringSubview(toFront: subview)
在objective-c中:
[self.superview bringSubviewToFront: subview];
在swift2.3中:
self.superview!.bringSubviewToFront(subview)
在swift3.1.1中:
superview.bringSubview(toFront: subview)
为了便于使用Swift 3中的扩展
extension UIView { func bringToFront() { self.superview?.bringSubview(toFront: self) } }