我有一個UIView *loadingView
,它只是一個黑色的BG和一個UIActivityIndicator
。我想加入到我的觀點,然後睡的線程幾秒鐘:在睡覺前添加一個UIView
[self.window addSubview:loadingView];
loadingView.hidden=NO;
sleep(2);
顯然,這是沒有足夠的時間來添加視圖,該線程,但不添加視圖睡,並且僅在2秒後出現。所以我嘗試這樣的:
-(void)sleep
{
sleep(2);
}
[self.window addSubview:loadingView];
loadingView.hidden=NO;
[self performSelector:@selector(sleep) withObject:nil afterDelay:0.01];
這顯示睡眠之前的視圖,這是所需的結果。但是,在這3行下面有幾行代碼,我不想在睡眠之後執行,並且在0.01秒內執行所有這些行。
爲什麼不把下面的行放到someFunction中並使用'[self performSelector:@selector(someFunction)withObject:nil afterDelay:2.0];'並刪除睡眠函數。 – Lunayo 2012-03-18 19:12:41
爲什麼你想強制一個3秒的應用程序沒有響應,什麼都不做? – 2012-03-18 19:13:11
我在另一個線程中做了一些加載,所以我不想在睡眠(2)之下的代碼行被調用,直到2秒之後.. – Snowman 2012-03-18 19:22:43