0

我使用的UIView是默认包含以下元素的自定义(在调用 init 之后设置这些元素):

  • UIImageView
  • UIView
  • UIView

这些open var在类代码中声明。

在我的代码中,我添加了另一个UIView这样的:

myView?.addSubview(div)
myView?.bringSubview(toFront: div)

现在调用bringSubviewToFront仅适用于由代码添加的 div 元素,而不适用于默认视图。

myView?.bringSubview(toFront: myView?.likedView)

如何将 UIViews 放在前面?

4

1 回答 1

3

首先明确 的概念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)
于 2017-10-31T12:51:35.047 回答