ios 中請求主執行緒重新整理UI
阿新 • • 發佈:2019-01-22
IOS中只有主執行緒 才能立即重新整理UI。如果是通過偵聽非同步訊息,觸發回撥函式,或者呼叫非同步方法,請求重新整理UI,都會產生執行緒阻塞和延遲的問題。
可以通過
if ([NSThread isMainThread]) { [self.downloadMapBtn setImage:[UIImage imageNamed:@"download_map.png"] forState:UIControlStateNormal]; [self.downloadMapBtn setNeedsDisplay]; } else { dispatch_sync(dispatch_get_main_queue(), ^{ //Update UI in UI thread here [self.downloadMapBtn setImage:[UIImage imageNamed:@"download_map.png"] forState:UIControlStateNormal]; [self.downloadMapBtn setNeedsDisplay]; }); }
這樣的方法來進行 訊息派送給主執行緒,進行重新整理。
相關閱讀