点击它时如何将子视图带到前面?

时间:2011-03-17 21:27:15

标签: ios

我有一个关于它的大约30个子视图的视图。我想在子视图的viewcontroller中添加代码,这样当我点击子视图时,子视图会扩展以填充屏幕。

我正在使用[self.view setFrame:rect]来扩展子视图,这很好用。问题是其他29个子视图中的一些超出了我刚刚点击的子视图,因此它们仍然可见。

我尝试使用父视图控制器中的bringSubviewToFront,但这似乎没有效果。我可以在子视图的viewcontroller类中添加任何代码来实现这一点吗?

3 个答案:

答案 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)
    }

}