[英]remove UIView from superView
我有两个UIViews,UIView1和UIView2。 UIView2被添加为UIView1的子视图,我想知道的是,如果我打电话
[UIView1 removeFromSuperview];
剂量也适用于UIView2上的removeFromSuperView? 或者我是否也必须在UIView2上调用它...
任何帮助,将不胜感激
UIView---->UIView1------>UIView2
假设您要在UIView1上删除UIView2,只需编写即可
[UIView2 removeFromSuperView].
假设您要在UIView上删除UIView1,只需编写即可
[UIView1 removeFromSuperView].
在这种情况下,UIView2也被删除。 因为删除任何视图时,将删除所有视图子视图。
无需调用[UIView2 removeFromSuperView]
因为当您删除UIView1时,它也会删除其所有子视图。
希望这可以帮助。
如果您认为所有UIButtons,UILabel和其他控件都是从UIView继承的,并且您没有从视图中明确删除它们,则很明显从superview中删除父视图也会导致删除所有子视图。
因此,您无需调用[UIView2 removeFromSuperview]
你做了UIView2被添加为UIView1的子视图。 所以如果你调用[UIView1 removeFromSuperview];
意味着你在其中添加了什么以及从superview中删除了UIView1。 所以不需要调用[UIView2 removeFromSuperView];
removeFromSuperView :取消接收器与其superview及其窗口的链接,并将其从响应器链中删除。
如果接收者的超级视图不是零,则超级视图释放接收者。 如果您计划重用视图,请务必在调用此方法之前保留它,并在以后适当时再次释放它。
这里[UIView2 removeFromSuperView]
将从UIView1中删除UIView2
另外[UIView1 removeFromSuperView]
将从其superView(可能是窗口或其他视图)中删除其所有子视图
更好的是你必须创建主视图
UIView * main=[[[UIView alloc] initWithFrame:CGRectMake(20, 20, 20, 20)]autorelease];
[self.view addsubview main];
[main addsubview UIView1];
[main addsubview UIView2];
然后你打电话
[UIView1 removeFromSuperview];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.