繁体   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