我使用的自定义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)

10-06 12:22