#swiftui #mapkit
#swiftui #mapkit
Вопрос:
Я пытаюсь реорганизовать приложение SwiftUI.
Из: iuviewпредставляемый из MapView в: собственное представление SwiftUI Map().
Однако мое приложение должно иметь возможность реагировать на панорамирование и масштабирование пользователя. В моей uiviewпредставляемой версии я добавил протокол MKMapViewDelagate в класс Coordinator и создал MapView(_ MapView:regionDidChangeAnimated)
Как можно назначить класс делегата для собственной версии SwiftUI для достижения этой цели?
Я видел, что в некоторых сообщениях используется метод init() для настройки внешнего вида карты с помощью MKMapView.appearance(). Оказывается, у этого есть свойство делегата, но назначение делегата здесь не приводит к mapView:regionDidChangeAnimated
вызову метода…
Ответ №1:
Поскольку Map() принимает привязку к региону, вы можете использовать .onChange для реагирования на изменение региона.