我想在我的 PDF 阅读器应用程序中实现自由绘图。我看到一个使用 UIImageView
作为渲染绘图的 View 的教程。我尝试了这个并且效果很好,除非我尝试保存绘图。有时它会阻止我从一页转到另一页,除非我点击边缘两次,其他时候过渡很平滑。
那么实现此功能的最佳方式是什么?
--附加信息--
要保存绘图,我所做的是使用 UIImagePNGRepresentation
将其保存为图像以将其保存在目录中。保存图片的文件名是根据文档的bookId和页码(例如121-5.png)
现在要加载绘图,将调用一个函数,该函数根据书籍的 ID 和页码检查图像是否存在。因此,如果这本书的 ID 为 121,而我在第 5 页,则该函数将加载图像“121-5.png”。
最佳答案
这只是一个猜测(现在我要展开更多内容已经太晚了),但是如果您尝试以最明显的方式进行保存部分,可能您正在拖延主要 (UI)线。可能你不是,很抱歉,如果它放肆。如果是这样,这将导致整个界面停止,直到图像被渲染、压缩和保存。
两个简单的方法来解决这个问题:
- 启动一个后台线程来执行此操作,这将释放您的主线程以响应用户。 (搜索
NSOperation
是一个开始。这是一个 random tutorial ) - 将要保存的 UILayer 传递到“下一页”,并在转换后进行保存。它仍然会稍微拖延一些事情,但至少用户会考虑下一步该做什么,而您将有 100 毫秒的时间来做某事。
关于ios - 在应用程序中实现绘图的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920256/