我希望在显示另一张照片之前显示等待2秒的照片。 所以我尝试用好的旧C99:sleep(300),但UI不会更新。
我尝试的第二件事是: 1.在自己的线程中创建方法
[NSThread detachNewThreadSelector:@selector(gameIt) toTarget:self withObject:nil];
然后在方法中睡觉:
[NSThread sleepForTimeInterval:1];
但同样的问题,UI不会更新。 我做错了什么?请帮我。谢谢。
答案 0 :(得分:2)
只要您在主线程上sleep
,就会停止用户界面。
你可能会对NSThread的课程方法scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
感到满意。你必须保留一些上下文,以便你的方法的每次调用都知道该怎么做,但这不会阻止你的UI,它会给你3秒(或者其他)你正在寻找的间隔
答案 1 :(得分:0)
在后台线程上运行处理,但是在编辑UI时需要执行SelectorOnMainThread
[view performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:YES];