我正在开发一个应用程序。我希望在下一个操作之前从主视图中删除子视图。我编写了如下代码。
[subview removeFromSuperview];
[self start];
但是现在视图在开始动作完成后正在删除。所以请告诉我如何从主视图中删除子视图。
答案 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];
}
这样,就有足够的时间来完成删除所有子视图,然后开始新的操作。