Как вызвать функцию, когда нажата кнопка компаса mapView - PullRequest
0 голосов
/ 23 декабря 2018

Я разработал приложение, отображающее вид карты с кнопкой компаса.При нажатии этой кнопки компаса естественной функцией является то, что карта ориентирована на север.Теперь я хочу вызвать функцию при нажатии этой кнопки компаса.

Там можно найти вид приложения с картой (кнопка компаса видна в правом верхнем углу)

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 голосов
/ 24 декабря 2018

Возьмите код emrepuns

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
0 голосов
/ 23 декабря 2018

Я считаю, что 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.
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...