我使用的自定义UIView
默认情况下包含以下元素(在调用init之后,这些元素被设置):UIImageView
UIView
UIView
它们在类代码中声明为open var
。
在我的代码中,我添加了另一个类似这样的UIView
:
myView?.addSubview(div)
myView?.bringSubview(toFront: div)
现在调用
bringSubviewToFront
只对由代码添加的div元素起作用,而对默认视图不起作用。myView?.bringSubview(toFront: myView?.likedView)
我怎样才能把视野带到前面?
最佳答案
首先明确bringSubviewToFront
的概念。bringSubviewToFront
只能用于直接子视图或子视图我的意思是不能用于子视图的子视图。
例如,您有如下视图层次结构:,
A->B->C
A是父视图,B是它的子视图,C是B的子视图。
现在你可以直接
A?.bringSubview(toFront: B)
但不能这样做,
A?.bringSubview(toFront: C)
如果你想让C站在前面那你就得像,
A?.bringSubview(toFront: B)
B?.bringSubview(toFront: C)