我正在使用 Apple 的“基于页面的应用程序”Xcode 模板和这种渲染方法。
我通过drawRect将每个PDF页面呈现到它自己的PDFPageView中,然后将它作为子视图添加到每个页面的DataViewController。
这是可行的,但是由于页面的渲染需要一些时间,它会延迟页面的滑动动画,所以我想知道如何预渲染和缓存页面。
到目前为止,我在页面呈现后将DataViewControllers 放入可变字典中。对该索引的后续调用 viewControllerAtIndex 确实更快,但是如果我继续浏览较长(52 页,11MB)PDF 文件中的页面到最后一页,然后再往回滑动,10 页后事情会再次变慢,尽管 DataViewControllers 已经存在于字典中。
这是正确的方法,还是我应该缓存渲染的 PDFPageViews?
当我想提前预渲染时,是否应该使用 dispatch_async 进行渲染,并将预渲染的 PDFPageView 或 DataViewController 放入字典中?
还是我应该完全使用完全不同的方法?谢谢!