按下mapView的指南针按钮时如何调用函数

时间:2018-12-23 18:18:38

标签: swift mapkit

我开发了一个应用程序,可通过罗盘按钮显示地图视图。按下此指南针按钮时,自然的功能是将地图定向到北方。 现在,我想在按下指南针按钮时调用一个函数。

可以在此处找到带有地图的应用程序视图(在右上角可以看到“指南针”按钮)

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

下面的代码工作正常。只是为了给出完整的视图而显示。

@IBOutlet weak var mapView: MKMapView!

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

我正在寻找一种当用户按下地图视图上的指南针按钮时创建动作的方法。

2 个答案:

答案 0 :(得分:1)

我相信MKCompassButton继承自UIView,因此您可以通过以下操作将UITapGestureRecognizer添加到compassButton

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


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

答案 1 :(得分:1)

获取Emprepuns代码

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


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

并添加此行

tapGestureRecognizer.numberOfTouchesRequired = 1

tapGestureRecognizer.numberOfTapsRequired = 1