那么如何解决这个问题呢?
上网查询而知,iOS 自 7.x 某个版本以后就有这个问题。
实际上很简单,如果这个ViewController 是在 TabBarViewController 的 NavigationController 上 Push/Pop的,那么只需要把 TabBarViewController 的 View 设置一下白色背景就可以了。
建立一个 UINavigationController 的父类,在父类写上self.view.backgroundColor = [UIColor whiteColor];让你的NavigationController都继承,这样就OK了。
但是到这里为止,只解决了 50%,还有另外一种情况没有解决,那就是如果你 present了一个NavigationController + ViewController后,在这个下面再进行Pop/Push 也是会有黑影的情况下。这种情况如何解决呢?
类似的,设置一下 self.navigationController.view.backgroundColor = [UIColor whiteColor]; 即可。