0

私は1つのアプリケーションを開発しています.次のアクションの前にメインビューからサブビューを削除したい.私は以下のようなコードを書きました.

  [subview removeFromSuperview];
   [self start];

しかし、現在、開始アクションの完了後にビューが削除されています.メインビューからサブビューを最初に削除する方法を教えてください.

4

3 に答える 3

0

アクションの開始時にビューを削除できます

  for(UIView *subview in [self.view subviews]) {
            [subview removeFromSuperview];
        }
于 2012-12-07T10:04:32.503 に答える
0

このように使用できます。

[subview removeFromSuperview];
[self performSelector:@selector(start) withObject:nil afterDelay:1];
于 2012-12-07T11:01:32.350 に答える
0

Rose が上で述べたように、コードを使用できます。それはうまくいくはずです。そうでない場合は、この追加ビットを試してください。記述されたコードの下に、次のように NSTimer インスタンスをトリガーします。

 for(UIView *subview in [self.view subviews]) {
            [subview removeFromSuperview];
        }

        [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(start:) userInfo:nil repeats:NO];

-(void)start:(NSTimer *)timer
{
    [timer invalidate];
    timer    = nil;

    [self start];
}

このようにして、すべてのサブビューの削除を完了してから新しいアクションを開始するのに十分な時間があります。

于 2012-12-07T11:02:43.497 に答える