如何禁用第2页/共3页上的UIScrollView进行水平滚动?

问题描述:

我有一个横向UIScrollView启用包含3个视图控制器的分页。中间视图包含触摸处理,有时会被解释为滚动并运行用户体验。我有用于移动到第1页和第3页的导航按钮,但希望在第1页和第3页时保留滚动功能,因为它们没有多点触控/复杂触摸行为。如何禁用第2页/共3页上的UIScrollView进行水平滚动?

你可以做到这一点通过实现委托方法func scrollViewDidScroll(_ scrollView: UIScrollView)

这里是斯威夫特一些示例代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) { 

    if scrollView.contentOffset.x == view.frame.width { 
     scrollView.isScrollEnabled = false 
    } else { 
     scrollView.isScrollEnabled = true 
    } 
}