iOS控制器在push或者pop时导航栏出现黑块的解决办法

问题描述:

在我的APP中从一个隐藏导航栏的A页面push到另一个有导航栏的B页面,然后从B页面pop回A页面导航栏就会出现一个黑块。

解决办法有两种:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 第一种办法:为了避免push和pop时导航条出现的黑块,给window设置一个背景色
    self.window.backgroundColor = kNavBarColor;
    [self.window makeKeyAndVisible];
    
    return YES;
}


- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    // 第二种办法:在隐藏导航栏的时候要添加动画
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    // 第二种办法:在显示导航栏的时候要添加动画
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}



版权声明:本文为yaoliangjun306原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。