Программная передача сенсорных жестов в SwiftUIIOS

Программируем под IOS
Ответить
Anonymous
 Программная передача сенсорных жестов в SwiftUI

Сообщение Anonymous »


Привет

Итак, у меня есть следующий код:

ZStack { MapView() ВСтек { ПрокруткаView { Spacer(minLength: viewHeight * 0,7) ГлавнаяПросмотрСписокЗаказов() .id("Просмотр списка") .cornerRadius(10) .ignoresSafeArea() .frame(ширина: g.size.width, высота: g.size.height, выравнивание: .center) } .scrollBounceBehavior(.basedOnSize, оси: .vertical) } Код объявляет Mapview а затем поверх него создается VStack с разделителем и списком, который начинается внизу экрана.

Теперь я хочу передавать жесты всякий раз, когда они выполняются в области ScrollViews, где есть разделитель. Таким образом, пользователь может легко манипулировать картой. Но всякий раз, когда пользователь касается области, где у меня есть ListView, прикосновение должно распространяться вперед на MapView за прокруткой.

В UIKit мы могли бы легко сделать это, прагматично проверив, что это был за жест, и отреагировать на него или распространить его на подпредставления. Но как мне это сделать в SwiftUI?

Удачи!
Исправить
Так что эта вещь сама по себе невыполнима. Но, как отметил в комментариях @lorem ipsom, вы можете сделать нечто подобное, выполнив следующие действия:
[*]Создайте таблицу, которую нельзя закрыть [*]Представьте [*]Включить взаимодействие для просмотра позади [*]Ограничьте размер листа с помощью фиксаторов.
Как выглядит мой новый код:

ZStack { MapView() .sheet(isPresented: $presentSheet) { ГлавнаяПросмотрСписокЗаказов() .id("Просмотр списка") .ignoresSafeArea() .presentationDetents([.height(viewHeight * 0,7), .height(viewHeight * 0,1)]) .interactiveDismissDisabled() .presentationBackgroundInteraction( .enabled(upThrough: .height(viewHeight * 0,1)) ) } } Извините за неправильные отступы. Я не знаю, почему отступы портятся, когда я копирую код из xcode в редактор здесь.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»