在下一个操作之前删除视图

时间:2012-12-07 09:45:45

标签: iphone

我正在开发一个应用程序。我希望在下一个操作之前从主视图中删除子视图。我编写了如下代码。

  [subview removeFromSuperview];
   [self start];

但是现在视图在开始动作完成后正在删除。所以请告诉我如何从主视图中删除子视图。

3 个答案:

答案 0 :(得分:0)

您可以在操作开始时删除视图

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

答案 1 :(得分:0)

你可以这样使用,

[subview removeFromSuperview];
[self performSelector:@selector(start) withObject:nil afterDelay:1];

答案 2 :(得分: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];
}

这样,就有足够的时间来完成删除所有子视图,然后开始新的操作。