我有一个生成图像供用户打印的类。这些图像是使用 QuartzCore(和一些 UIKit 元素)创建的,需要在主线程上运行。
在生成图像时用户可见的 View 中,我有一个进度条。这个 View 是执行打印的类的委托(delegate),打印机在 View 上调用一个方法来更新进度条。问题是,在打印机完成之前,进度条不会明显更新,因为打印机正在阻塞主线程。我无法将进度条移出主线程,因为所有 UI 更新都必须在主线程上完成。
我对多线程还很陌生;我还有其他选择吗?或者我必须使用事件指示器或类似的东西吗?
最佳答案
更新您的代码,以便在后台线程上完成图像创建。这应该是安全的。
然后您可以调用主线程来更新进度条。
关于ios - 生成打印页面时更新进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283558/