Swift:点击地图视图时转到另一个视图
Swift: Segue to another view when Map View is tapped
我想在点击地图视图后执行到另一个视图的 segue,就像当您检查位置并点击 instagram 上的地图或在 foursquare 中一样。
我无法像在按钮中那样将地图视图本身直接连接到另一个视图,并且我不想在点击标注按钮时执行 segue。
我找到了一个解决方法,将一个不可见的按钮放入 mapView,并在按钮被点击时执行 segue(用户认为 mapView 被点击)
但我想知道是否有更好的解决方案,没有按钮。
您可以使用 UITapGestureRecognizer
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tapHandler(_:)))
mapView.addGestureRecognizer(gestureRecognizer)
@objc func tapHandler(_ gestureReconizer: UIGestureRecognizer) {
// let location = gestureReconizer.location(in: mapView)
// coordinatte of taplocation
// let coordinate = mapView.convert(location,toCoordinateFrom: mapView)
// **you can navigate or perform Your Actions there**
}
我想在点击地图视图后执行到另一个视图的 segue,就像当您检查位置并点击 instagram 上的地图或在 foursquare 中一样。
我无法像在按钮中那样将地图视图本身直接连接到另一个视图,并且我不想在点击标注按钮时执行 segue。
我找到了一个解决方法,将一个不可见的按钮放入 mapView,并在按钮被点击时执行 segue(用户认为 mapView 被点击)
但我想知道是否有更好的解决方案,没有按钮。
您可以使用 UITapGestureRecognizer
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tapHandler(_:)))
mapView.addGestureRecognizer(gestureRecognizer)
@objc func tapHandler(_ gestureReconizer: UIGestureRecognizer) {
// let location = gestureReconizer.location(in: mapView)
// coordinatte of taplocation
// let coordinate = mapView.convert(location,toCoordinateFrom: mapView)
// **you can navigate or perform Your Actions there**
}