我不明白這裏發生了什麼。我有一個進度條几乎完成,但沒有顯示出來。如果我遞增.10
,它會停止在.9
左右,它看起來很直觀,我可以弄清楚如何解決它。uiprogressview沒有完成到100%視覺
float total = self.forms.count;
float calc = (float)self.progView.progress + (1/total);
self.progView.progress = calc;
if (self.progView.progress == 1)
{
sleep(2);
self.progView.hidden = YES;
self.progView.progress = 0;
}
我知道它進入if語句,因爲它會睡2秒鐘這樣
編輯:
嗯,我拿出了最後的2線和它似乎更新最後一部分,它必須是塊的問題,我已經從它被調用?
即使用這種方法包裝在dispatch_async(dispatch_get_main_queue()
我仍然有問題。
睡眠不好在主線程:
這裏是我的新工作代碼:
if (self.progView.progress == 1)
{
[NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(removeProg) userInfo:nil repeats:NO];
}
方法
-(void)removeProg
{
self.progView.hidden = YES;
self.progView.progress = 0;
}
永不睡在主線程上。 Ver壞。 – rmaddy
我有類似的問題,這有助於我得到一個滿意的結論。 – Bill