Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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在ViewController中以编程方式删除子视图的位置_Ios_Uiview_Uiviewcontroller_Subviews - Fatal编程技术网

IOS在ViewController中以编程方式删除子视图的位置

IOS在ViewController中以编程方式删除子视图的位置,ios,uiview,uiviewcontroller,subviews,Ios,Uiview,Uiviewcontroller,Subviews,我对IOS很陌生,所以如果我的问题很明显,我很抱歉。 我在序列图像板中设置了ViewController的视图,其中包含其他子视图 在视图中将出现我根据传递给此ViewController的对象更新这些子视图。这个对象可以有nil属性,在这种情况下,我想删除这些子视图 删除这些子视图的正确位置是什么?在效率方面是否存在差异 viewDidLoad 视图将出现 或视图将布局子视图 为这些被移除的对象设置的约束也会被移除吗 Thx如果您正在使用故事板和ARC,请不要担心删除视图,相反,如果您非常

我对IOS很陌生,所以如果我的问题很明显,我很抱歉。 我在序列图像板中设置了ViewController的视图,其中包含其他子视图

视图中将出现我根据传递给此ViewController的对象更新这些子视图。这个对象可以有nil属性,在这种情况下,我想删除这些子视图

删除这些子视图的正确位置是什么?在效率方面是否存在差异

  • viewDidLoad
  • 视图将出现
  • 视图将布局子视图
为这些被移除的对象设置的约束也会被移除吗


Thx

如果您正在使用故事板和ARC,请不要担心删除视图,相反,如果您非常有兴趣将内存置于非常严格的控制之下,请不要使用故事板和删除ARC


您引用的子视图不是子视图,列出的方法不是UIView方法,而是UIViewController方法。但是,如果您有要删除的UIView对象,那么这些对象也将为您处理。如果您想要更严格的控制,那么将它们声明为public ivar,将它们包装在@autoreleasepool{}中,并在viewwilldefine:或其他方法中,或通过委托或通知模式设置为nil。它与您正在做的事情和您的条件有关。

这些约束肯定会被删除。但是,可以将约束保存在数组中,并在将来再次添加它们

我建议在viewWillLayoutSubviews方法中更改视图(方向、可见性、几何体)。您不希望在ViewWillAppease方法中执行任何昂贵的操作,因为此时视图已准备好向用户显示,并且可能会影响用户加载视图的速度