如何为UIView(iOS8 / Swift)下的MapView启用触摸事件

时间:2014-06-27 20:43:32

标签: ios uiview swift

这是一个问题,但之前已经提出过问题,但解决方案看起来像过去一样有效,或者还有其他问题发生。

我有一个MapView,在它之上我放置了一个不透明的UIView,作为用户的指示器。这已在界面构建器中完成,因此无需手动放置控件或类似的东西。我希望UIView不阻止用户与MapView的交互,例如双击缩放,平移等。我已经尝试了现有的解决方案,即在UIView的界面构建器中取消选中“User Interaction Enabled”框,但是没有用。

我该如何解决这个问题?

如果事实证明iOS8 / XCode 6不影响此解决方案,我将发布代码。

代码:https://github.com/ChrisChares/swift-alarm Github Repo,请注意,这不是我的代码,但它反映了此处显示的问题。转到MapViewController界面。

2 个答案:

答案 0 :(得分:0)

如何覆盖这个UIView的最热门方法,然后返回nil?我目前无法使用ios8 sim测试,所以这只是猜测。

答案 1 :(得分:0)

解决方案:我明白了,这可能是Xcode 6中的一个潜在故障,或者Apple故意改变了选项面板中的某些逻辑。

切换启用用户交互的框不能解决问题,如前所述。

但是,使用代码执行此操作时,只需使用:

targetView.userInteractionEnabled = false 你会注意到MapView正确地记录了UIView的触摸。