Ios 在自定义UIVIew中将子视图置于前面
我使用的是自定义的Ios 在自定义UIVIew中将子视图置于前面,ios,swift,uiview,bringtofront,Ios,Swift,Uiview,Bringtofront,我使用的是自定义的UIView,默认情况下包含以下元素(调用init后,这些元素已设置): UIImageView ui视图 ui视图 它们在类代码中声明为openvar 在我的代码中,我添加了另一个UIView,如下所示: myView?.addSubview(div) myView?.bringSubview(toFront: div) 现在调用bringSubviewToFront只对代码添加的div元素有效,而对默认视图无效 myView?.bringSubview(toFront
UIView
,默认情况下包含以下元素(调用init后,这些元素已设置):
UIImageView
ui视图
ui视图
openvar
在我的代码中,我添加了另一个UIView
,如下所示:
myView?.addSubview(div)
myView?.bringSubview(toFront: div)
现在调用bringSubviewToFront
只对代码添加的div元素有效,而对默认视图无效
myView?.bringSubview(toFront: myView?.likedView)
如何将UIView置于前端?首先明确
将子视图置于前端的概念
将子视图带到前端
只能用于直接子视图或子视图,我的意思是不能用于子视图的子视图
例如,您有如下视图层次结构:
A->B->C
A是父视图,B是它的子视图,C是B的子视图
现在你可以直接做喜欢的事情了
A?.bringSubview(toFront: B)
但我不能像这样做
A?.bringSubview(toFront: C)
如果你想让C走在前面,那么你必须像
A?.bringSubview(toFront: B)
B?.bringSubview(toFront: C)
首先明确将子视图带到前台的概念
将子视图带到前端
只能用于直接子视图或子视图,我的意思是不能用于子视图的子视图
例如,您有如下视图层次结构:
A->B->C
A是父视图,B是它的子视图,C是B的子视图
现在你可以直接做喜欢的事情了
A?.bringSubview(toFront: B)
但我不能像这样做
A?.bringSubview(toFront: C)
如果你想让C走在前面,那么你必须像
A?.bringSubview(toFront: B)
B?.bringSubview(toFront: C)
此处显示的代码有问题bringSubView
不接受可选值(视图)openfunc-bringSubview(toFront-view:UIView)
类似于初始化视图吗?您是否为myView创建了类?它是如何添加到控制器的?检查其子视图是否正确初始化。此处显示的代码有问题bringSubView
不接受可选值(视图)openfunc-bringSubview(toFront-view:UIView)
类似于初始化视图吗?您是否为myView创建了类?它是如何添加到控制器的?检查其子视图是否已正确初始化。