通常,开发人员会尝试将子视图放在前面。相反,如何将superview 放在前面?
我正在寻找bringSubviewToFront(_:)
. 它应该看起来像bringSuperviewToFront(_:)
通常,开发人员会尝试将子视图放在前面。相反,如何将superview 放在前面?
我正在寻找bringSubviewToFront(_:)
. 它应该看起来像bringSuperviewToFront(_:)
我正在寻找bringSubviewToFront( :) 的反面。它应该看起来像 bringSuperviewToFront( :)
那是不存在的。与其给你的按钮一个子视图,不如同时创建某个容器的子视图和按钮子视图。然后您可以调整它们的相对 z 位置以适合您的目的。
我不认为你能做到这一点。视图分层放置,每个子视图层都是超级视图层的一部分。您想要实现的效果可以通过隐藏/删除您想要在其上获得“置顶”效果的视图的所有子视图来实现。
这适用于子视图,因为通常您希望根据图层位置在同一父视图中显示/隐藏子视图!
本着不那么粗鲁的精神。
func bringSubviewToFront(view: UIView) {
let superview = view.superview
superview?.addSubview(view)
}
这将把它带到前面。如:
bringSubviewToFront(mySubview)
上面的代码所做的是将视图从其父视图层次结构中的任何位置分离,并将其重新附加到所有子视图的顶部。这具有将它带到前面的效果,就像你想要的那样。如果视图不是层次结构的一部分,则该函数不执行任何操作。