繁体   English   中英

如何将超级视图置于最前面?

[英]how does one bring superview to front?

通常,开发人员会尝试将子视图置于最前面。 相反,如何将超级视图摆在最前面?

我正在寻找相反的bringSubviewToFront(_:) 它看起来应该像bringSuperviewToFront(_:)

我认为您无法做到。 视图按层放置,每个子视图层都是超级视图层的一部分。 要实现的效果可以通过隐藏/删除启用“ 置顶”效果的视图的所有子视图来实现。

这对子视图效果很好,因为通常您希望根据子视图的层位置在同一个父视图中显示/隐藏子视图!

我正在寻找相反的BringSubviewToFront( :)。 它看起来应该像BringSuperviewToFront( :)

那不存在。 而不是为按钮提供子视图,而是使某个容器的子视图和按钮子视图同时出现。 然后,您可以调整其相对z位置以适合您的目的。

本着不礼貌的精神。

func bringSubviewToFront(view: UIView) {
    let superview = view.superview
    superview?.addSubview(view)
}

那将把它带到前面。 如:

bringSubviewToFront(mySubview)

上面的代码所做的是将视图从其父视图层次结构中的任何位置分离出来,并将其重新附加到所有子视图的顶部。 这具有将其置于所需位置的效果。 如果视图不是层次结构的一部分,则该函数不执行任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM