Я работаю над проектом, который использует смесь UIKit и SwiftUI. В настоящее время у меня есть ZStack, в котором я храню свой контент SwiftUI, мне нужно отобразить UIViewController поверх этого контента. Последний элемент в моем ZStack - это UIViewControllerRepresentable. то есть:
ZStack {
...
SwiftUIContent
...
MyUIViewControllerRepresentative()
}
Мой накладной UIViewControllerRepresentive является контейнером для других UIViewControllers. Эти дочерние контроллеры представления не всегда должны занимать весь экран, поэтому UIViewControllerRepresentive имеет прозрачный фон, чтобы пользователь мог взаимодействовать с содержимым SwiftUI позади.
Проблема, с которой я сталкиваюсь, заключается в том, что UIViewControllerRepresentive блокирует все сенсорные события от достижения содержимого SwiftUI.
Я попытался переопределить тест попаданий представлений UIViewControllers следующим образом:
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
// return nil if the touch event should propagate to the SwiftUI content
}
Я также попытался полностью удалить события касания в представлении контроллеров представления с помощью:
view.isUserInteractionEnabled = false
Даже это не сработает.
Любая помощь будет очень признательна.