如何在垂直滚动其内容(集合视图)时启用 UIPageViewController 的页面滚动?
Posted
技术标签:
【中文标题】如何在垂直滚动其内容(集合视图)时启用 UIPageViewController 的页面滚动?【英文标题】:How to enable UIPageViewController's page scroll while scrolling its content vertically (a collection view)? 【发布时间】:2015-02-18 05:44:37 【问题描述】:我正在制作一个像 SmartNews 这样的应用程序,它的 UIPageViewController 包含许多 UICollectionView 页面。
结构:
一个 UIPageViewController,页面水平滚动。 (过渡风格为 UIPageViewControllerTransitionStyleScroll) 其中的每个页面都包含一个垂直滚动一组单元格的 UICollectionView。 两个视图的大小相同,屏幕上的触摸区域很常见。问题:
当收藏视图自行向下滚动时(即用户不再触摸屏幕但收藏视图仍在通过减速滚动),用户无法滑动页面。 似乎如果此时发生另一个平移手势,集合视图会跟踪它以停止当前滚动,并且不允许用户滑动页面视图控制器。
有没有办法让用户滚动页面(水平),而集合视图仍在滚动(垂直)?
(Instagram的搜索视图实现了这个功能。)
谢谢!
【问题讨论】:
这是针对同一问题的解决方案***.com/a/28558529/1192682 感谢您的评论。但这不是完全相同的问题,因为两个视图具有相同的大小并且屏幕上的输入区域是通用的。只是在滚动一个视图时,即使是另一个触摸,在延迟滚动期间也不能滚动另一个视图。 (检测到另一个触摸是为了停止延迟滚动,而不是开始另一个滚动) 【参考方案1】:在这里找到了我想做的事情: Cross Directional UIScrollViews - Can I Modify the Scrolling Behaviour?
我猜对 UIPageController 做同样的事情是不安全的,因为它里面的滚动视图是无证的。 我将尝试用启用分页的 UISCrollView 替换 UIPageController。
【讨论】:
以上是关于如何在垂直滚动其内容(集合视图)时启用 UIPageViewController 的页面滚动?的主要内容,如果未能解决你的问题,请参考以下文章