是否有一种方法可以在AppDelegate或SceneDelegate中检测iOS中的导航更改?所以,基本上,任何触发委托或通知的出席、推送或驳回?我知道android有一个方法来处理这个特定的用例,React Native中也有useFocusEffect,但我在iOS中找不到类似的东西。浏览了所有NSNotifications的列表,除了一个仅链接到MacOS的通知外,什么都找不到。
不确定为什么需要它,但您可以对UINavigationController
进行扩展并在其自身上实现委托,然后在viewDidLoad
中分配委托。这是非常棘手的,但看起来像这样:
extension UINavigationController: UINavigationControllerDelegate {
open override func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
public func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
// Do code here
}
}
你介意分享一下你为什么需要这个吗?因为可能有一种更符合iOS标准的方式来实现您想要的。