【发布时间】:2016-10-31 01:46:10
【问题描述】:
我正在制作一个里面有一堆可滚动页面的页面浏览。我有页面浏览工作,它旋转的每个视图控制器内部都有一个滚动视图。问题是,我认为,滚动不会发生,因为触摸没有进入页面浏览。滚动视图应该只垂直滚动,而页面浏览与水平滚动一起使用。是否可以仅通过垂直触摸发送,还是有其他方式?
谢谢
【问题讨论】:
标签: ios xcode swift uiscrollview uipageviewcontroller
我正在制作一个里面有一堆可滚动页面的页面浏览。我有页面浏览工作,它旋转的每个视图控制器内部都有一个滚动视图。问题是,我认为,滚动不会发生,因为触摸没有进入页面浏览。滚动视图应该只垂直滚动,而页面浏览与水平滚动一起使用。是否可以仅通过垂直触摸发送,还是有其他方式?
谢谢
【问题讨论】:
标签: ios xcode swift uiscrollview uipageviewcontroller
如果您使用的是情节提要,请打开嵌入式UIScrollView 的属性检查器并取消选择“显示水平指示器”选项。在UIPageViewController 上执行相同的操作,但针对“显示垂直指示器”。但是,您还必须确保滚动视图的内容不比滚动视图本身宽;为此,只需将内容的宽度限制为等于滚动视图的 父级。
【讨论】:
UIPageViewControllers 在内部使用UIScrollView,但你无法以编程方式或在 IB 中使用它。我还没有尝试过,但是您可以尝试遍历页面视图控制器的UIGestureRecognizers 数组并将每个的delaysContentTouches 属性设置为true。这告诉页面视图控制器的滑动/平移手势让子视图的手势(如果有)首先处理手势,并且只有在子视图的手势失败时才继续。