【发布时间】:2020-10-06 11:30:56
【问题描述】:
我有一个从 UIKit 主视图调用的 SwiftUI 模态视图。我想在我的模态视图中添加一个关闭按钮。正如我所知,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 stateInUIKitHack: View {
@State var modalIsPresented = false
var body: some View {
Text("Hello, World!")
}
}
在 MoodCardView.swift 我有:
@Binding var isPresented: Bool
如果我从另一个 SwiftUI 视图创建我的模态表,它会以经典方式关闭它,但我需要从 UIKit 视图创建它。
【问题讨论】:
标签: ios swift iphone uikit swiftui