У меня есть модальное представление SwiftUI, которое я вызываю из основного представления UIKit. Я хочу добавить кнопку отклонения в свое модальное представление. Насколько я могу судить, в UIKit нет переменных @State, поэтому я создаю отдельное представление SwiftUI для хранения моей переменной @State, но по какой-то причине оно не работает. Как мне это исправить?
Мой код внутри основного ViewController:
var hack = StateInUIKitHack()
hack.modalIsPresented = true
let vc = UIHostingController(rootView: MoodCardView(isPresented: hack.$modalIsPresented, entryIndex: entryIndex, note: moodEntries[entryIndex].note ?? ""))
self.present(vc, animated: true, completion: nil)
StateInUIKitHack struct:
struct stateInUIKitHack: View {
@State var modalIsPresented = false
var body: some View {
Text("Hello, World!")
}
}
Внутри MoodCardView.swift У меня есть:
@Binding var isPresented: Bool
И если я создаю свой модальный лист из другого представления SwiftUI, классическим способом он отклоняет ОК, но мне нужно создать его из представления UIKit.