2

これは非常に奇妙な問題です。に 5 つのサブビューを追加しましたUIViewController。そのうちの 1 つを削除する必要がありますが、これを行うと、残りの 4 つのサブビューの 1 つも削除されます。これには、addSubview を使用して再度追加する必要があります。問題の 2 つのビューは、まったく関連していません。

これは既知のiOS SDKバグですか? iOS 6.1 のシミュレーターで実行すると確実に発生します。

ありがとう。

4

2 に答える 2

2

ここで、あなたの質問では、サブビューの削除に使用する方法について言及していません。そのため、サブビューの削除について簡単な提案をします。

そんなTagそれぞれを与えて、subView

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

そして、次のようなその上の任意のベースにアクセス(削除)できますsubViewTag

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

このヒントは役に立つかもしれません。

于 2013-02-22T04:29:14.713 に答える
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]]
于 2013-02-22T04:17:39.017 に答える