1
我有AppDelegate的ACPDownloadView實例。它顯示下載進度。當我在視圖控制器中更新它的進度值時,它工作正常。在自定義代理中更改屬性時不會更新
appdelegate.downloadVew=[[ACPDownloadView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
appdelegate.downloadVew.backgroundColor=[UIColor clearColor];
progressBtn= [[UIBarButtonItem alloc] initWithCustomView:appdelegate.downloadVew];
ACPIndeterminateGoogleLayer * layer = [ACPIndeterminateGoogleLayer new];
[layer updateColor:[UIColor blueColor]];
[appdelegate.downloadVew setIndeterminateLayer:layer];
[appdelegate.downloadVew setIndicatorStatus:ACPDownloadStatusRunning];
[appdelegate.downloadVew setProgress:0.0 animated:NO];
現在,我有一個委託方法,當進度更新時調用。
-(void)progressAddChannel:(NSProgress *)uploadProgress{
float prog=uploadProgress.fractionCompleted;
[appdelegate.downloadVew setProgress:prog animated:YES];
[appdelegate.downloadVew layoutIfNeeded];
NSLog(@"%f",prog);
}
此代碼執行和顯示的進度正確的值。但是這一進展並沒有激發appdelegate.downloadVew的活力。有人知道這種行爲嗎?
您是否檢查代碼是否在主線程上運行? – Jelly
不,我沒有。我現在檢查。謝謝。 – bisma
非常感謝。這是我的問題。我沒有在MainThread上調用它。 – bisma