繁体   English   中英

在自定义UIVIew中将子视图置于最前面

[英]Bringing Subview to front in custom UIVIew

我使用的是自定义UIView ,默认情况下包含以下元素(在调用init之后,将其设置):

  • UIImageView
  • UIView
  • UIView

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

在我的代码中,我添加了另一个类似的UIView

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

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

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

如何将UIView放在最前面?

首先,要清除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)

暂无
暂无

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

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