【发布时间】:2019-12-15 00:04:34
【问题描述】:
在我的视图控制器中我有这个功能
...{
let vc = UIHostingController(rootView: SwiftUIView())
present(vc, animated: true, completion: nil)
}
其中呈现以下 SwiftUIView。
Q 如何在按下 CustomButton 时关闭 SwiftUIView?
struct SwiftUIView : View {
var body: some View {
CustomButton()
}
}
struct CustomButton: View {
var body: some View {
Button(action: {
self.buttonAction()
}) {
Text(buttonTitle)
}
}
func buttonAction() {
//dismiss the SwiftUIView when this button pressed
}
}
【问题讨论】:
-
你看过这个问题吗? stackoverflow.com/questions/56819063/…
-
您必须定义一个@State 并将其传递给相关的controlling 和由 控制的视图。
-
以下。如果你还没有尝试过——你可以通过向下拖动控制器来关闭它——但是......我当然想要并且正在寻找一种解决方案来关闭按钮按下。 :)
-
@ovatsug25 是的,我需要按下按钮,因为在拖动关闭时不会触发 .onDisappear 回调,因此需要预先定义的操作来执行某些功能。
标签: swiftui uihostingcontroller