如何禁用第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
}
}