отправить событие из UIViewControllerRepresentable в представление swiftui
Я пытаюсь поймать событие, которое происходит в UIViewController в представлении SwiftUI. архитектура находится в SwiftUI с элементом в Swift:
Вид
struct PlayGame: View {
var body: some View {
if stateProgress.stateOfGame == 0 {
CardsDeckRepresentable()
}
}
}
UIViewControllerRepresentable
struct CardsDeckRepresentable: UIViewControllerRepresentable {
typealias UIViewControllerType = CardsDeckViewController
func makeUIViewController(context: Context) -> CardsDeckViewController {
let deck = CardsDeckViewController()
return deck
}
func updateUIViewController(_ uiViewController: CardsDeckViewController, context: Context) {
}
}
UIViewController
class CardsDeckViewController : UIViewController, iCarouselDelegate, iCarouselDataSource{
... some code ...
func moveCardChoosen(number:Int) {
self.view.addSubview(cardMobile)
UIView.animate(withDuration: 0.5, delay: 0.0, options:[], animations: {
self.cardMobile.center.y = self.cardPlace5.center.y
}, completion: { finished in
if finished {
self.cardMobile.isHidden = true
}
})
}
}
В конце анимации я хочу позвонить в swiftUIView для обновления.
Я пробовал использовать какой-нибудь ObservableObject или функцию updateUIViewController. Я могу передавать данные из представления SwiftUI в UIViewController через UIViewControllerRepresentable. Но как оживить изменение от UIViewController? Кажется, что updateUIViewController не вызывается.