ios 中请求主线程刷新UI
来源:互联网 发布:中美台湾战争知乎 编辑:程序博客网 时间:2024/05/21 17:16
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]; }); }
这样的方法来进行 消息派送给主线程,进行刷新。
相关阅读
http://www.ios-developer.net/iphone-ipad-programmer/development/threads/updating-ui-controls-on-background-threads
http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial
3 0
- ios 中请求主线程刷新UI
- ios 中请求主线程刷新UI
- ios 中请求主线程刷新UI
- ios 中请求主线程刷新UI
- ios中刷新UI为什么在主线程里
- 备忘 IOS UI主线程刷新
- swift3.0 中如何在主线程中刷新UI
- swift3.0 中如何在主线程中刷新UI
- 关于在UI中刷新主线程的问题
- iOS主线程更新UI
- iOS 主线程更新UI
- ios主线程更改UI
- 理解的主线程刷新UI:
- iOS 为什么必须在主线程中操作UI
- iOS 为什么必须在主线程中操作UI
- IOS 更新UI的主线程方法
- iOS 开发中为什么更新UI都要放在主线程中?
- [转载]iOS 开发中为什么更新UI都要放在主线程中?
- ArcGIS API for Flex(一) 新增地图和图层
- ubuntu jdk1.6 安装
- 应届毕业生:当找不到想要的工作时该做什么
- android文字阴影效果设置
- oracle日常-新建数据库
- ios 中请求主线程刷新UI
- 求反向互补字符串长度
- iOS开发网络数据之AFNetworking使用
- UVA10199- Tourist Guide(割点)
- Fancybox插件,动态创建的元素绑定事件
- php生成excel(单元格内换行的解决办法)
- Nginx
- HTML元素间距问题
- ios icon和启动image尺寸介绍