gpt4 book ai didi

iphone - 加速 UIPageViewController

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:12:46 28 4
gpt4 key购买 nike

我有一个包含多个页面的 UIPageViewController。每个页面都是相同的 View Controller ,但会跟踪页码并显示 PDF 的正确页面。问题是每个 PDF 页面都需要在 curl 效果起作用之前加载和绘制(您在屏幕上滑动手指,加载之前没有任何反应)。关于如何加快速度或预加载下一页的任何想法?感谢您的帮助。

最佳答案

我现在用的app也有类似的问题。我的解决方案是保留对加载的上一个和下一个 Controller 的引用作为我的 Root View Controller 的属性,然后从那里加载 View 。我不使用 PageViewController,因为客户坚持认为它必须看起来像 FlipBoard...所以我还缓存了生成的 GLTexture。它应该以类似的方式工作,只是在加载当前页面时存储下一页和上一页,然后在您的“loadNextPage”或任何方法中传递该 Controller 。

编辑:这是我项目中的一个示例(我已简化)

First Load(NH 是我程序的前缀,所以你需要替换你自己的类):

NHViewController *child = [NHViewController loadPageNum:actualNum];
[self.view addSubview:child.view];
self.curController = child;
child.delegate = self;
[self initializePages:NHPageLoadBoth];

后续加载(翻页):

    NHPageLoadSettings pageToLoad = NHPageLoadNext;
if(direction == NHPageDirectionNextPage)
{
self.prevController = self.curController;
self.curController = self.nextController;
self.nextController = nil;
}
else
{
self.nextController = self.curController;
self.curController = self.prevController;
self.prevController = nil;
pageToLoad = NHPageLoadPrev;
}

UIView *nextView = self.curController.view;
[self.view addSubview:nextView];
[mCurView removeFromSuperview];
mCurView = nextView;

[self initializePages:pageToLoad];

初始化页面:

- (void)initializePages:(NHPageLoadSettings)pagesToLoad
{
if(pagesToLoad & NHPageLoadNext)
{
NSUInteger nextPageNum = [self.curController.pageNum unsignedIntegerValue]+1;
self.nextController = [NHViewController loadPageNum:nextPageNum];
}
if(pagesToLoad & NHPageLoadPrev)
{
NSUInteger prevPageNum = [self.curController.pageNum unsignedIntegerValue]-1;
self.prevController = [NHViewController loadPageNum:prevPageNum];
}
}

这样,您将始终准备好邻居页面。然后,无需在 UIPageViewController 中检索下一页或上一页的方法中实例化它们,只需传递 self.nextController 或 self.prevController。

关于iphone - 加速 UIPageViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797866/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com