微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一旦View Controller离开视图堆栈,是否可以调用函数?

如何解决一旦View Controller离开视图堆栈,是否可以调用函数?

如果

ViewDiddisapear和ViewWilldisappear仍在另一个View Controller上方时被调用(例如,将View Controller推到顶部)。是否只有在将视图控制器从导航堆栈中删除后才调用函数?向后退按钮添加功能可以正常工作,但是如果用户决定使用边缘平移手势关闭视图怎么办?是否有一个动作可以说明这两个事件?

解决方法

是的,我可以想到几种方法来实现这一目标

一种选择是将一些代码添加到UIViewController的dealloc方法中。

如果您不希望视图控制器控制器在离开堆栈时被释放,则还可以为UINavigationController设置UINavigationControllerDelegate并进行定义

func navigationController(_ navigationController: UINavigationController,didShow viewController: UIViewController,animated: Bool) {
  guard let poppedViewController =
        navigationController.transitionCoordinator?.viewController(forKey: .from) 
  <Do something with the popped VC>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。