当 UINavigationbar 过渡到另一个 ViewController 时,部分背景颜色自动变为灰色

5 uinavigationbar ios

我创建了一个简单的应用程序,在主视图中,顶部有一个导航栏,按钮上有一个 tabBar。导航栏的背景颜色为白色,我遇到了一个非常奇怪的动画。当我的应用程序推送到另一个 ViewController 时,部分导航栏的背景颜色在视图出现之前变成灰色。有人可以帮助我吗?谢谢。

PS:我发现当我将下面的属性设置为 YES 时会发生

viewController.hidesBottomBarWhenPushed = YES;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

vie*_* vu 3

出现这种模糊效果的原因是因为整个选项卡栏控制器在导航控制器下方进行动画处理,并且默认情况下该视图后面是一个黑色的 UIWindow。

所以在你的AppDelegate函数中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions添加:

 self.window.backgroundColor = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)

希望这有帮助。