我正在编写的程序有一个视图,其上有几个图块,在执行以下代码时可以正确加扰:
[self scrambleBoard];
[self.view setNeedsDisplay];
其中scrambleBoard是一种随机混合切片的方法。上面的代码正常工作,并显示了瓷砖的最终加扰位置 我遇到的问题是,我想给程序看起来实际上加扰的图块的外观,有点像动画,但不是真的如此,它只会显示8个连续不同的加扰视图。所以我将上面的代码合并到以下循环中:
for (int i = 0; i < 8; i++)
{
[self scrambleBoard];
[self.view setNeedsDisplay];
usleep(250000);
}
问题是,我不是连续显示8个不同的混乱视图,而是只获得最终的混乱视图。任何帮助将不胜感激 - 提前谢谢 吉尔
答案 0 :(得分:1)
我的猜测是你只是阻塞线程,因为在主线程上使用sleep几乎总是错误的。
我相信最后的视图只是在runloop结束时才真正计算出来,它基本上只会给你最后一次混音的结果。