这是一个非常奇怪的问题。我有5个子视图添加到UIViewController
。其中一个需要删除,但当我这样做时,其余4个子视图中的一个也被删除。这需要我使用addSubview重新添加它。这两个观点没有任何关系。
这是一个已知的iOS SDK
错误吗?它肯定会在iOS 6.1的模拟器上运行。
感谢。
答案 0 :(得分:2)
您可以使用以下代码删除single subview
。
[subview_Name removeFromSuperview];
如果要从视图中删除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
,请用此替换if
条件。
[obj isKindOfClass:[UIImageView class]]
答案 1 :(得分:2)
在这里,在你的问题中没有提到你使用哪种方法删除subView,我给你简单的建议删除subView。
为每个Tag
提供subView
,例如,
self.subView1.tag = 1;
self.subView2.tag = 2;
.
.
.
.
self.subViewN.tag = N;
您可以在其subView
上访问(删除)任何Tag
基础,例如
[[self.view viewWithTag:1] removeFromSuperview];
此提示可能对您有所帮助。