2016-10-29 2 views
0

Ok, wie ich weiß, diese Funktion:Wie erkennt man, auf welche Schaltfläche auf integrierte UIAlertViewController-Warnungen wie Standortberechtigungswarnung in iOS10 geklickt wird?

func alertView(_ alertView: UIAlertView, clickedButtonAt buttonIndex: Int) { 
} 

wird nun abgeschrieben, dann, wie kann ich erkennen, welche Taste durch den Benutzer auf Built-in-Benachrichtigungen von iOS SDK, wie die Warnung, die fragen, erscheinen Berechtigungen gedrückt wird, in meinem Fall möchte ich den Klick-Button-Index der Location Permission Alert erkennen? siehe Screenshot unten.

enter image description here

Ich will nicht Lösung, wie diese Delegierten:

didUpdateLocations 
didFailWithError 

ich von

nur Ersatz wollen
clickedButtonAt 

erkennen (iOS SDK erzeugt Warnungen) Schaltfläche Aktionen.

Antwort

1

Es gibt keinen einfachen Ersatz für clickedButtAt. Es funktioniert nicht so. Sie tun es nicht wie Sie mit UIAlertController tun. Sie müssen alle richtigen CLLocationManager Methoden und Delegaten verwenden.

Erstellen Sie zunächst eine Instanz von CLLocationManager und stellen Sie delegate ein. Überprüfen Sie dann den aktuellen Autorisierungsstatus mit der Methode authorizationStatus(). Wenn das Ergebnis notDetermined lautet, rufen Sie die Methode requestWhenInUseAuthorization auf.

Sie finden heraus, welche Wahl der Benutzer getroffen hat, indem Sie die zugehörige CLLocationManagerDelegate Methode locationManager(_:didChangeAuthorization:) implementieren. Dadurch erfahren Sie, ob der Benutzer den Zugriff zugelassen oder verweigert hat.

Verwandte Themen