添加手势识别器以允许在 Swift 中的 MapView 上水平滑动

Posted

技术标签:

【中文标题】添加手势识别器以允许在 Swift 中的 MapView 上水平滑动【英文标题】:Add gesture recognizer to allow horizontal swipes on a MapView in Swift 【发布时间】:2017-07-04 19:01:13 【问题描述】:

我正在开发一个使用 snapchat 风格导航系统的应用程序,用户可以在其中水平滑动视图控制器。问题是其中一个视图控制器是地图,一旦用户滚动到地图,他们就无法向后滚动,因为地图将所有手势解释为与地图相关。如何实现水平滑动手势控制,允许用户水平滑动(从右到左)以退出地图视图控制器?

【问题讨论】:

您将如何确定用户是否在地图上滑动以更改其位置以及何时尝试滑动回另一个视图控制器?为什么不使用后退按钮来防止这一切。 @Jay 我在考虑边到边滑动。如果我要使用按钮,我必须以某种方式为滚动设置动画或创建从右到左的转场,这两者似乎都比手势识别器复杂。 【参考方案1】:

解决方案是在地图视图上添加边缘到边缘手势识别器。这些识别器将跨越视图的垂直和水平边缘,当用户从屏幕的最边缘滑动时,将切换 snapchat 导航系统

【讨论】:

以上是关于添加手势识别器以允许在 Swift 中的 MapView 上水平滑动的主要内容,如果未能解决你的问题,请参考以下文章

关闭键盘但也允许 iOS Swift 中的其他操作?

在 Swift 中以编程方式启动手势识别器?

SWIFT4:如何让两个点击手势识别器一起工作

添加手势识别器 uivew 导航栏 swift 不起作用

将手势识别器添加到SKShapeNode Swift 4

为啥滑动手势识别器在 swift 中会出错?