[英]iOS: Removing one view from superview causes another to get removed?
这是一个非常奇怪的问题。 我有5个子视图添加到UIViewController
。 其中一个需要删除,但是当我这样做时,其余四个子视图之一也将被删除。 这就需要我使用addSubview重新添加它。 所讨论的两个视图没有任何关联。
这是已知的iOS SDK
错误吗? 肯定会在带有iOS 6.1的模拟器上运行。
谢谢。
您可以使用以下代码删除single subview
。
[subview_Name removeFromSuperview];
如果要从all subviews
删除all subviews
视图,请使用此视图。
NSArray *subViewArray = [self.view subviews];
for (id obj in subViewArray)
{
[obj removeFromSuperview];
}
如果要删除all subview of particular class
使用此方法。
NSArray *subViewArray = [self.view subviews];
for (id obj in subViewArray)
{
if([obj isKindOfClass:[classname class]])
{
[obj removeFromSuperview];
}
}
示例:如果要remove subview
UIImageView
类的remove subview
,请使用if
条件替换它。
[obj isKindOfClass:[UIImageView class]]
在这里,在您的问题中不要提及您用于删除subView的方法,因此,我为您提供删除subView的简单建议。
给每个subView
Tag
,例如,
self.subView1.tag = 1;
self.subView2.tag = 2;
.
.
.
.
self.subViewN.tag = N;
并且您可以基于其Tag
访问( 删除 )任何subView
,例如
[[self.view viewWithTag:1] removeFromSuperview];
这些提示可能对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.