视图无法在正确的时间加载

时间:2011-11-25 00:53:40

标签: objective-c xcode

我正在编写的程序有一个视图,其上有几个图块,在执行以下代码时可以正确加扰:

    [self scrambleBoard];
    [self.view setNeedsDisplay];

其中scrambleBoard是一种随机混合切片的方法。上面的代码正常工作,并显示了瓷砖的最终加扰位置 我遇到的问题是,我想给程序看起来实际上加扰的图块的外观,有点像动画,但不是真的如此,它只会显示8个连续不同的加扰视图。所以我将上面的代码合并到以下循环中:

for (int i = 0; i < 8; i++)
{        
    [self scrambleBoard];
    [self.view setNeedsDisplay];
    usleep(250000);
}

问题是,我不是连续显示8个不同的混乱视图,而是只获得最终的混乱视图。任何帮助将不胜感激 - 提前谢谢 吉尔

1 个答案:

答案 0 :(得分:1)

我的猜测是你只是阻塞线程,因为在主线程上使用sleep几乎总是错误的。

我相信最后的视图只是在runloop结束时才真正计算出来,它基本上只会给你最后一次混音的结果。