我正在开发一个应用程序。我想在下一步操作之前从主视图中删除子视图。我编写了如下代码。
[subview removeFromSuperview];
[self start];
但是现在视图在启动操作完成后被删除。所以请告诉我如何首先从主视图中删除子视图。
我正在开发一个应用程序。我想在下一步操作之前从主视图中删除子视图。我编写了如下代码。
[subview removeFromSuperview];
[self start];
但是现在视图在启动操作完成后被删除。所以请告诉我如何首先从主视图中删除子视图。
您可以在操作开始时删除视图
for(UIView *subview in [self.view subviews]) {
[subview removeFromSuperview];
}
你可以这样使用,
[subview removeFromSuperview];
[self performSelector:@selector(start) withObject:nil afterDelay:1];
您可以使用上面 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];
}
这样,就有足够的时间完成删除所有子视图,然后开始新的操作。