带有分页的全屏 UICollectionView 内的 UIWebView
Posted
技术标签:
【中文标题】带有分页的全屏 UICollectionView 内的 UIWebView【英文标题】:UIWebView inside full screen UICollectionView with paging 【发布时间】:2015-05-06 07:17:19 【问题描述】:我想要一个带有分页的全屏 UICollectionView,每个单元格中都有一个 UIWebView。 WebView 应该上下滚动,CollectionView 应该左右移动页面。 另外,我希望单元格上的页面会预加载,这样当用户移动到某个页面时,html 页面就已经存在了。
处理这个问题的正确方法是什么?
【问题讨论】:
我不确定这是否会按预期工作,因为 UIWebView 可以包含垂直和水平滚动的内容,而水平滚动可能会导致集合视图出现问题。如果可行,我将尝试快速设置并发布解决方案。 :) 我是创建 HTML 的人 - 所以 - 没有水平滚动 和UITableView一样,UICollectionView是可复用的,所以我觉得用UICollectionView做不到。在分页的 UIScrollView 中手动放置 UIWebViews 怎么样? 【参考方案1】:很难把它全部放在这里,所以看看this project是否能让你更接近解决你的问题。
请注意,没有预加载,因为如果您编写自己的 html 并且不会有任何网络调用,则不需要预加载页面 - 更改将立即对您的用户可见。
【讨论】:
【参考方案2】:你总是需要在 UICollectionViewCells 中重新加载 UIWebView,因为它们是可重用的,但是如果你想要你可以做一个 hack,一个比你的主视图的框架大 3 倍的 UICollectionView 它必须从第二个开始页并在最后一页之前完成。 它将始终预加载 3 个 webview(但如果需要,您可以将 hack 做得更大),或者您可以制作一个激活分页的 UIScrollView,它总是会预加载所有 webview。
【讨论】:
以上是关于带有分页的全屏 UICollectionView 内的 UIWebView的主要内容,如果未能解决你的问题,请参考以下文章
带有分页的 UICollectionView - 设置页面宽度
带有全屏 UICollectionView 的 iOS 7 InteractivePopGesture
在启用分页的情况下使两个 UICollectionView 同步滚动