Я пытаюсь найти способ сохранить область и масштаб изображения, когда я переключаюсь между двумя контроллерами представления.Как предотвратить отображение карты из состояния освобождения?
Что происходит сейчас, так это то, что каждый раз, когда я возвращаюсь с контроллера дочернего представления, mapview повторно инициализирует себя и, таким образом, userTrackingMode и userLocation.
class MainViewController: UIViewController {
@IBOutlet var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
initLocationManager()
}
}
extension MainViewController: MKMapViewDelegate {
func initLocationManager() {
mapView.showsUserLocation = true
mapView.setUserTrackingMode(.Follow, animated: true)
}
func stopLocationServices() {
mapView.setUserTrackingMode(.None, animated: true)
}
func mapView(mapView: MKMapView, regionWillChangeAnimated animated: Bool) {
if mapViewRegionDidChangeFromUserInteraction() {
mapView.setUserTrackingMode(.None, animated: false)
}
}
func centerMapToUser() {
mapView.setUserTrackingMode(.Follow, animated: true)
}
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
guard annotation is MapAnnotation else {
return nil
}
return MapAnnotationView(annotation: annotation, reuseIdentifier: annotation.description)
}
}
Есть ли конкретный Segue, что препятствует освобождению родительского вида или, может быть, я думал о хранении нужного региона.
Как вы думаете?
Я добавил немного кода, чтобы прояснить ситуацию. –