从上海华删除的UIView(remove UIView from superView)

2019-09-19 03:34发布

我有两个UIViews,UIView1和UIView2。 UIView2被添加为子视图UIView1,我想知道的是,如果我叫

[UIView1 removeFromSuperview];

剂量也适用于UIView2的removeFromSuperView? 或者我特别要调用的UIView2以及...

任何帮助,将不胜感激

Answer 1:

UIView---->UIView1------>UIView2

假设你要删除的UIView1 UIView2,只是你可以编写

[UIView2 removeFromSuperView].

假设你想去除的UIView UIView1,只是你可以编写

[UIView1 removeFromSuperView].

在这种情况下,UIView2也被删除。 因为当你删除任何视图,视图的所有子视图将被删除。



Answer 2:

有没有需要调用[UIView2 removeFromSuperView]因为当你删除UIView1它也将删除所有子视图。

希望这可以帮助。



Answer 3:

如果考虑到所有UIButtons,UILabels和其他控制从UIView的继承,而你没有明确从画面中移除,它变得清晰,除去上海华父视图也导致去除所有子子视图。

因此,你不需要调用[UIView2 removeFromSuperview]



Answer 4:

你做UIView2添加为UIView1的子视图。 所以,如果你调用[UIView1 removeFromSuperview]; 意味着你永远在里面添加了什么,也从上海华UIView1删除。 所以不需要调用[UIView2 removeFromSuperView];



Answer 5:

好,你必须创建MAINVIEW像

UIView * main=[[[UIView alloc] initWithFrame:CGRectMake(20, 20, 20, 20)]autorelease];
[self.view addsubview main];
[main addsubview UIView1];
[main addsubview UIView2];

然后调用

[UIView1 removeFromSuperview];


Answer 6:

removeFromSuperView:从解除链接它的父和其窗口中的接收器,以及从响应链中移除。

如果接收的上海华不为零时,上海华盈释放接收器。 如果您打算重新使用视图,可以肯定的调用此方法之前把它保留下来,后来再次释放适当的。

这里[UIView2 removeFromSuperView]将从UIView1删除UIView2

[UIView1 removeFromSuperView]将从它的父除去其所有的子视图(可以是窗口或另一个视图)



文章来源: remove UIView from superView