我创建了一个应用程序,登录后必须从网上下载新数据库并记录 如果用户按是,则会出现自定义UIAlertView,将启动下载阶段。什么时候 UIAlertView消失了,UIAlertView的代表叫我在后台启动 线程下载。现在我正在尝试修改显示当前百分比和标签的标签 向视图添加自定义活动指示器。之后的活动指标 更改图片或label.text获取一个新的字符串,屏幕开始闪烁,但是 只有在第一次启动时(安装后),如果我强制关闭应用程序并启动它 再次闪烁的事情没有出现,在以前版本的iOS上应用程序没有闪烁。一世 我修改标签时从主线程调用。我尝试删除标签和活动 指示灯和警报视图消失后应用程序不闪烁。我试图删除 警报视图并立即开始下载,之后只有状态栏开始 闪烁。
所以我的问题是:我该怎么办才能解决闪烁错误?
答案 0 :(得分:3)
我认为原因是因为您正在后台线程上更新UI。你不能这样做,你必须使用主线程:
要从后台线程在主线程上运行代码,您可以使用GCD:
dispatch_async(dispatch_get_main_queue(), ^{
//your UI code here
});
如果这不能解决错误,那可能是您设备的错误。