0

In der Kartenansicht möchte ich, dass wenn der Benutzer berührt irgendwo in der Karte, App stoppt Update-Standort .. aber scheint wie nichts passiert und es dauert etwa 10-15 Sekunden für Aktionen zu arbeiten in der App (App macht wirklich langsam und laggy) ich war mit diesem Code:UIGestureRecognizer funktioniert nicht und macht App langsam

@IBOutlet var Map: MKMapView! 

    let locationManager = CLLocationManager() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     StopUpdate.hidden = true 
     Longi.hidden = true 
     Lati.hidden = true 
     locationManager.delegate = self 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest 
     locationManager.requestWhenInUseAuthorization() 
     locationManager.requestLocation() 
     locationManager.startUpdatingLocation() 
     locationManager.stopUpdatingLocation() 
    self.view.addGestureRecognizer(UIGestureRecognizer(target: self, action: "tapClose")) 
} 

func tapClose(gesture: UITapGestureRecognizer){ 
    locationManager.stopUpdatingLocation() 
    StopUpdate.hidden = true 
    UpdateLocation.hidden = false 
} 

Wegen des GestureRecognizer meiner app ist langsam und laggy.Any Lösung für diesen?

Antwort

0

Richtigen Weg UITapGesture

class DashVC: UIViewController, UIGestureRecognizerDelegate{ 
} 

definieren tapgesture in viewDidLoad wie diese

let tapDashBoard = UITapGestureRecognizer(target: self, action: #selector(DashVC.DashBoardTapped(_:))) 
    tapDashBoard.delegate = self 
    view.addGestureRecognizer(tapDashBoard) 

und Aktion

func DashBoardTapped(sender: UITapGestureRecognizer? = nil) { 
} 
+0

Verwendung von ungelösten Bezeichner 'DashVC' hinzufügen? Wie behebt man das? –

+0

Es ist der Name Ihres ViewController.replace mit Ihrem ViewController Name –

+0

behoben, aber neu hinzugefügt. Kann keinen Wert vom Typ 'ViewController' zuweisen, um 'UIGestureRecognizerDelegate?' at line tapDashBoard.delegate = self –

Verwandte Themen