iOS:从超级视图中删除一个视图会导致另一个视图被删除?
问题描述:
这是一个很奇怪的问题。我有5个子视图添加到UIViewController
。其中一个需要被删除,但是当我这样做时,其余4个子视图中的一个也被删除。这需要我使用addSubview重新添加它。这两个观点没有任何关系。iOS:从超级视图中删除一个视图会导致另一个视图被删除?
这是一个已知的iOS SDK
错误?它确实发生在iOS 6.1的模拟器上。
谢谢。
答
在这里,你的问题没有提及这种方法您使用删除子视图这些的话,我给你删除子视图简单的建议。
给每个subView
诸如此类,
self.subView1.tag = 1;
self.subView2.tag = 2;
.
.
.
.
self.subViewN.tag = N;
,您可以访问其Tag
(删除)任何subView
基地,诸如此类
[[self.view viewWithTag:1] removeFromSuperview];
这提示可能有帮助的Tag
为你。
答
您可以使用以下代码删除single subview
。
[subview_Name removeFromSuperview];
如果你想删除all subviews
形式的视图然后使用这个。如果你想删除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]]
把你的代码否则它不可能调试! – 2013-02-22 04:15:12
你确定你没有意外让这个视图消失,你正在删除的视图的子视图? – rdelmar 2013-02-22 04:16:03
您使用哪种方法删除子视图? – damithH 2013-02-22 04:17:01