popToViewController使用Bug 连续两级退出navigationBar隐藏

需求是这样的:
VVC -(push)-> AVC -(push)-> BVC 然后 BVC -(pop)--> VVC
AVC 与 BVC 的 navigationBar 是隐藏的.
这个需求其实看起不难, 直接使用[self.navigationController popToViewController:self animated:YES];(self 是VVC)

但是直接调用系统方法pop后AVC的Navigation被隐藏了, 查看调用系统调用顺序,
系统先调用[self.navigationController popToViewController:self animated:YES]然后调用了BVC中的viewWillDisappear方法, 此时在viewWillDisappear中打印self.navigationController的地址为null 但是如果设置[self.navigationController popToViewController:self animated:NO] 再相同地方打印就有值, VVC中的navigationBar不会被隐藏.

popToViewController使用Bug 连续两级退出navigationBar隐藏_第1张图片
but.gif

demo地址 : https://github.com/zhouxinv/popToControllerTest

你可能感兴趣的:(popToViewController使用Bug 连续两级退出navigationBar隐藏)