解决 iOS View Controller Push Pop 时的黑影

306 阅读1分钟

项目收尾的时候发现在push时右上角会有黑影,push完成后就消失了,如图:

那么如何解决这个问题呢?

上网查询而知,iOS 自 7.x 某个版本以后就有这个问题。

实际上很简单,如果这个ViewController 是在 TabBarViewControllerNavigationControllerPush/Pop的,那么只需要把 TabBarViewController 的 View 设置一下白色背景就可以了。

建立一个 UINavigationController 的父类,在父类写上self.view.backgroundColor = [UIColor whiteColor];让你的NavigationController都继承,这样就OK了。

但是到这里为止,只解决了 50%,还有另外一种情况没有解决,那就是如果你 present了一个NavigationController + ViewController后,在这个下面再进行Pop/Push 也是会有黑影的情况下。这种情况如何解决呢?

类似的,设置一下 self.navigationController.view.backgroundColor = [UIColor whiteColor]; 即可。