ios - 如何在第 2 页(共 3 页)上使用 UIScrollView 禁用水平滚动?

标签 ios swift uiscrollview

我有一个水平 UIScrollView 启用了包含 3 个 View Controller 的分页。中间 View 包含触摸处理,有时会被解释为滚动并运行用户体验。我有用于移动到第 1 页和第 3 页的导航按钮,但想在第 1 页和第 3 页中保留滚动功能,因为它们没有多点触控/复杂的触摸行为。

最佳答案

您可以通过实现委托(delegate)方法func scrollViewDidScroll(_ scrollView: UIScrollView)

下面是一些 Swift 中的示例代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) {

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

关于ios - 如何在第 2 页(共 3 页)上使用 UIScrollView 禁用水平滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006683/

相关文章:

ios - 警告 : I could not find the column named 'rowid'

uiviewcontroller - 使用 Swift 从一个 ViewController 滑动到另一个

ios - 在 UITableView 滚动时在 MKMapView 上放置图钉,从特定屏幕位置的单元格获取坐标。制作引脚 "dance."

iphone - UIScrollView 由于标签过多而导致性能问题

ios - CloudKit修改现有CKSubscription

ios - 我们可以在 objective-c 中创建可空/非空属性吗?

ios - Google 登录崩溃和错误 : uiDelegate must either be a |UIViewController|

ios - 从背景进入前景时 SVProgressHUD 没有动画

swift - 如何在 Swift Playground 播放完歌曲后调用函数

macos - 设置窗口级别 Swift 错误 OSX