簡體   English   中英

屏幕在iOS 6.1.2上閃爍

[英]Screen is flickering on iOS 6.1.2

我創建了一個應用程序,登錄后必須從網上下載新數據庫,當您登錄自定義UIAlertView時,如果用戶按是,則將啟動下載階段。 當UIAlertView消失並且UIAlertView的委托稱為i時,在后台線程上開始下載。 現在我正在嘗試修改顯示當前百分比的標簽,並向視圖添加自定義活動指示器。 之后,當活動指示器更改圖片或label.text獲取新字符串時,屏幕開始閃爍,但僅在第一次啟動時(安裝后),如果我強制關閉應用程序並再次啟動它,則閃爍的事情不是出現,在以前版本的iOS上該應用程序沒有閃爍。 我在修改標簽時從主線程調用。 我嘗試刪除標簽和活動指示器,警報視圖消失后,應用程序不閃爍。 我試圖刪除警報視圖並立即開始下載,之后只有狀態欄開始閃爍。

所以我的問題是:我該怎么做才能解決閃爍錯誤?

我相信原因是因為您正在后台線程上更新UI。 你不能這樣做,你必須使用主線程:

要從后台線程在主線程上運行代碼,您可以使用GCD:

dispatch_async(dispatch_get_main_queue(), ^{
    //your UI code here        
});

如果這不能解決錯誤,那么它可能是您設備的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM