04.UIKit混编时Dismiss掉HostController
一:在SwiftUI中Dismiss一个页面的正常操作
struct ContentView: View, SwiftUIBridgeProtocol {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
ZStack {
VStack {
StoreTopView(dismissClosure: {
presentationMode.wrappedValue.dismiss()
})
.padding()
}
}
}
}(lldb) po presentationMode
▿ Binding<PresentationMode>
▿ transaction : Transaction
▿ plist : []
- elements : nil
▿ location : <LocationBox<FunctionalLocation<PresentationMode>>: 0x2838313c0>
▿ _value : PresentationMode
- isPresented : false
(lldb) po presentationMode.wrappedValue
▿ PresentationMode
- isPresented : false二:如何才能获取到HostController呢
HostController呢方案1. 一些方案
方案2.@Environment
那是否可以添加自定义字段呢?
三:下面按照上面的思路实现一下
3.1 用以承载ViewController的容器
ViewController的容器3.2 EnvironmentKey
3.3 Extension
3.4 打开页面
3.5 关闭页面
3.6 SwiftUIEx
思考
Last updated