我正在使用xcode为iOs编写应用程序。我有这样的代码:
- (void)buttonAction:(UIButton*)sender{
UIView *figure = (UIView *) [figures objectAtIndex:sender.tag];
[figure.layer setBorderWidth:2.0f];
[figure.layer setBorderColor: [UIColor greenColor].CGColor];
sleep(1);
[self cleanScreen];
}
- (void) cleanScreen {
//Some code to hide all view objects
}
我希望在清除屏幕功能删除项目之前,更改边框颜色和宽度会在屏幕上反映1秒钟。但是碰巧这些变化没有反映出来,并且花了一秒钟的元素被删除。
我想在调用cleanScreen之前刷新屏幕。
如何获得我想要的效果?
提前致谢!
答案 0 :(得分:3)
而不是:
sleep(1);
使用:
[self performSelector:@selector(cleanScreen) withObject:nil afterDelay:1];
sleep()
你冻结了整个应用程序