2

这是一个非常奇怪的问题。我有 5 个子视图添加到UIViewController. 其中一个需要删除,但是当我这样做时,剩余的 4 个子视图之一也会被删除。这需要我使用 addSubview 重新添加它。所讨论的两种观点没有任何关系。

这是一个已知的iOS SDK错误吗?它肯定会在 iOS 6.1 的模拟器上运行。

谢谢。

4

2 回答 2

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,那么用这个替换条件。UIImageViewif

[obj isKindOfClass:[UIImageView class]]
于 2013-02-22T04:17:39.017 回答
2

在这里,在您的问题中不要提及您使用哪种方法来删除子视图,所以我给您简单的建议来删除子视图。

Tag每个subView这样的喜欢,

self.subView1.tag = 1;
self.subView2.tag = 2;
.
.
.
.
self.subViewN.tag = N;

你可以访问(删除)任何subView基于它的Tag,比如

[[self.view viewWithTag:1] removeFromSuperview];

这些提示可能对您有所帮助。

于 2013-02-22T04:29:14.713 回答