用户交互后刷新屏幕

时间:2012-12-11 19:55:39

标签: iphone objective-c ios xcode sleep

我正在使用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之前刷新屏幕。

如何获得我想要的效果?

提前致谢!

1 个答案:

答案 0 :(得分:3)

而不是:

sleep(1);

使用:

[self performSelector:@selector(cleanScreen) withObject:nil afterDelay:1];

sleep()你冻结了整个应用程序