Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在自定义UIVIew中将子视图置于前面_Ios_Swift_Uiview_Bringtofront - Fatal编程技术网

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创建了类?它是如何添加到控制器的?检查其子视图是否已正确初始化。