Не получил событие конца прокрутки карты в SwiftUI

Мы используем функциональность карты с аннотациями.

Функциональность: у нас есть 2000 записей в массиве, но нам нужно отфильтровать 150 записей в соответствии с регионом, измененным на карте в SwiftUI. Но в SwiftUI нет события конца прокрутки карты.

Мы использовали приведенный ниже код

       Map(coordinateRegion: self.$viewModel.region, interactionModes: [.all], annotationItems:  self.viewModel.mapLocations), annotationContent: { pin in

 }

Мы получили последний обновленный регион в .onChange(of: viewModel.region) }. Но мы не получили событие окончания прокрутки карты. Мы помещаем код в onChange(of), но он отстает при прокрутке. Итак, это не сработало для нас.

Также. Мы попробовали Drag-Gesture, но это не сработало.

      
.gesture(DragGesture()
        .onEnded { value in
          //Did not getting this event while map scroll end
         })

1 ответ

SwiftUI обычно не работает должным образом при попытке переопределить жесты для встроенных представлений, особенно сMap

Combineс.debounceобычно является лучшим решением, когда речь идет о фильтрации, основанной на быстром изменении@Publishedкак регион

Другие вопросы по тегам