UIPageView UIWebView 预取

Posted

技术标签:

【中文标题】UIPageView UIWebView 预取【英文标题】:UIPageView UIWebView Prefetch 【发布时间】:2012-04-19 06:18:54 【问题描述】:

我正在使用 UIPageViewController 制作应用程序。现在我在每个页面中只有一个 UIWebView。现在我在 viewWillAppear 中运行 [_webView loadRequest:requestObj];。它工作正常,但是当手势识别器处理翻页事件时发送 http 请求时,页面显示时会有延迟。

我尝试在里面写一些代码

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController

但我无法让它工作。

有什么好的方法可以在翻页前为下一页预取 UIWebView 以使页面在翻页时立即显示?

【问题讨论】:

【参考方案1】:

创建两个 Web 视图,一个在您的视图中显示,一个在屏幕外。每当您需要从一个页面移动到另一个页面时,开始将您的新内容加载到屏幕外的内容中,然后在viewWillAppear: 中将屏幕外 web 视图添加到您的视图层次结构中。最后,在前一个视图控制器的viewDidDisappear: 调用removeFromSuperview 上你以前的网络视图是什么。现在原版是您的屏幕外 Web 视图。

请记住,这些 Web 视图应该在您的所有视图(和视图控制器)之间共享,因此它们应该位于共享位置。

【讨论】:

以上是关于UIPageView UIWebView 预取的主要内容,如果未能解决你的问题,请参考以下文章

UI控件(UIWebView)

UI第十五节——UIWebView

UITableView 比 UIPageView 内的屏幕大

IOS开发-UI学习-UIWebView,简单浏览器的制作

将 UIPageView 添加为屏幕的一部分

iOS UIPageView与UIScrollView