ios - 生成打印页面时更新进度条

标签 ios objective-c multithreading nsthread uiprogressview

我有一个生成图像供用户打印的类。这些图像是使用 QuartzCore(和一些 UIKit 元素)创建的,需要在主线程上运行。

在生成图像时用户可见的 View 中,我有一个进度条。这个 View 是执行打印的类的委托(delegate),打印机在 View 上调用一个方法来更新进度条。问题是,在打印机完成之前,进度条不会明显更新,因为打印机正在阻塞主线程。我无法将进度条移出主线程,因为所有 UI 更新都必须在主线程上完成。

我对多线程还很陌生;我还有其他选择吗?或者我必须使用事件指示器或类似的东西吗?

最佳答案

更新您的代码,以便在后台线程上完成图像创建。这应该是安全的。

然后您可以调用主线程来更新进度条。

关于ios - 生成打印页面时更新进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283558/

相关文章:

iOS 用户权限

android - 需要开发可以支持使用 Adob​​e Captivate 开发的模块的 Android 和 iOS 应用程序

ios - CGFloat 到 $ST4 Swift 构建错误

wpf - 我应该在后台线程中运行所有内容吗?

java - Swing工作线程说父类(super class)中没有Process()方法

ios - 时间显示如系统时钟

ios - 如何从应用扩展中的 URL 加载图像?

ios - 如何使用扩展设置 viewController 搜索栏的委托(delegate)?

iphone - 滚动时基本 UITableView 的内存问题

Android fragment 相互重叠