0

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

  [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 回答