gpt4 book ai didi

ios - UIScrollView 中的 UIScreenEdgePanGestureRecognizer

转载 作者:行者123 更新时间:2023-12-01 18:09:29 26 4
gpt4 key购买 nike

我有一个带有 3 个 View 的水平 ScrollView 。第一个 View (最左侧)是 map View 。我想要的功能是用户只能通过从最右侧边缘滑动来进入第二个 View ,因为我希望其他手势来操作 map 。但是,从第二个和第三个 View 中,他们可以通过在 View 上的任意位置滑动来向左或向右移动。我已经搜索了如何做到这一点,并且对我的具体情况没有运气。

我不知道从哪里开始,所以如果有人能指出我正确的方向,那就太好了。

到目前为止,我已经尝试过:

在第一个 View 上禁用滚动并添加代码:

let edgeRecognizer = UIScreenEdgePanGestureRecognizer(target: firstView, action: "goToSecondView:")
edgeRecognizer.edges = .Right

func goToSecondView(){
scrollView.contentOffset = CGPoint(x: self.scrollView.contentSize.width/3, y: scrollView.contentOffset.y)
}

最佳答案

真的很简单,只需将此委托(delegate)功能放在您的UIScreenEdgePanGestureRecognizer 上即可。并设置 UIGestureRecognizerDelegate
使用 Xcode 8 和 Swift 3 :)

您需要这 3 个委托(delegate)功能。

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
return false

}

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}

关于ios - UIScrollView 中的 UIScreenEdgePanGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com