【发布时间】:2020-06-11 02:02:32
【问题描述】:
当在 swiftui 闭包中按下 NavigationBar 后退按钮时,有没有办法拦截 UIControl 事件(或任何事件)?或者当使用滑动手势时?
我正在尝试深入研究 UIViewControllerRepresentable 以了解如何绑定到 NavigationController(即 UINavigationControllerDelegate)中的委托方法,并通过 UIKit 组件中的逻辑将这些方法转换为生成“didNavigateToPrevious”信号,由通过堆栈的任何一种预期导航形式(即不切换标签),例如点击后退按钮或滑动手势。
我还尝试在子类 UIHostingController 上覆盖 didMove(toParent:),到目前为止,它根本没有被调用。
然后巧妙地提供一个ViewModifier,它会附加一个闭包,以便在调用委托方法时调用。
我正在考虑类似的事情
NotifyingNavigationView {
Text("Hello")
}.didNavigateBackward {
// access environmentObject
}
【问题讨论】:
标签: swiftui