我遇到屏幕被推两次的问题。问题是我不知道哪个pushViewController正在这样做,而且我有很多这样的。所以我想在navigationController.pushViewController()
函数中添加一个断点,这样我就可以看到调用该函数的前一个调用堆栈是什么。我不需要看到pushViewController的内部。我只需要在每次调用navigationController的函数pushViewController时停止断点。但是我无法在导航控制器代码的open func pushViewController()
上放置断点。我怎么能这样做?
答案 0 :(得分:0)
您可以延长UINavigationController
并覆盖pushViewController
功能。
class MyNavigationViewController : UINavigationController {
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
super.pushViewController(viewController, animated: animated)
}
}
然后,如果您使用的是故事板,请将导航控制器的类更改为MyNavigationViewController
,如果您从代码创建导航控制器,也可以在代码中更改。