這是我的代碼:當我嘗試製作動畫雨時,爲什麼這個睡眠功能不起作用?
@IBAction func click(sender: UIButton) {
for var x = 0; x<100; ++x{
r1.center.y += 0.2
usleep(10000)
}
}
我在Xcode 7.0測試版使用斯威夫特。我用UIButton
來測試它,並將其簡化爲一個雨滴。當我點擊時,我希望它順利移動(儘可能最好)。
現在,它只是等待所有函數完成(其中100個函數),因此它不會移動1秒,然後向下移動20px。我是否使用sleep()
函數(其實是usleep()
)錯誤,還是必須使用不同類型的等待函數才能使動畫正常工作?
值得一提的是,當我在模擬器中運行代碼時,我不會收到任何錯誤。
永遠不要在主線程中調用'sleep'或'usleep'(或任何與之相關的東西)。正如馬丁 - [R已經在下面他的回答中指出,你需要一個動畫... – Michael