swift - 按下 mapView 的罗盘按钮时如何调用函数

标签 swift mapkit

我开发了一个应用程序,显示带有罗盘按钮的 map View 。按下此罗盘按钮时的自然功能是 map 指向北方。 现在我想在按下这个罗盘按钮时调用一个函数。

可以在那里找到带有 map 的应用程序 View (罗盘按钮在右上角可见)

http://aceingolf.com/wp-content/uploads/2018/12/0.jpg

下面的代码运行良好。显示它只是为了提供完整的 View 。

@IBOutlet weak var mapView: MKMapView!

let compassButton = MKCompassButton(mapView: mapView)   
compassButton.compassVisibility = .visible       
mapView.addSubview(compassButton)

我正在寻找一种方法来在用户按下 map View 上的罗盘按钮时创建一个 Action 。

最佳答案

我相信 MKCompassButton 继承自 UIView,所以你只需添加一个 UITapGestureRecognizercompassButton如下操作:

    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleCompassTap))
    compassButton.addGestureRecognizer(tapGestureRecognizer)


    @objc func handleCompassTap() {
    // Implement your feature when the compass button tapped.
    }

关于swift - 按下 mapView 的罗盘按钮时如何调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53906049/

相关文章:

ios - MKMapView。在移动中创建路径

ios - 检索子节点数据

ios - Firebase - 无法执行对后端的调用

ios - 出现键盘时更改约束 - Swift

ios - Swift - 带有图像的自定义 MKPointAnnotation

ios - 为什么 selectAnnotation 在这种情况下不起作用?

iOS - CLLocation Manager didUpdateLocations 在一个类中被调用但在另一个类中没有被调用?

ios - 我将如何显示一组注释?

ios - Swift 无法将类型的值转换为 Realm 中的预期参数

ios - SwiftUI:检测 NavigationView 后退按钮按下