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