ios – 将导航栏的背景图像设置为[UIImage new]

我需要一个完全透明的导航栏为mapView,所以我这样做:
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];

这将返回所需的效果,如下所示:

现在我有一个问题,当我去任何其他,因为我的navigationBar保持透明:

如何恢复navigationBar的backgroundImage和shadowImage的默认设置?

解决方法

将导航图像设置为nil在viewWillDisappear的地图视图上

在您的地图视图中设置这两种方法

MapView.m

-(void)viewWillAppear:(BOOL)animated{
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:[UIImage new]];
}

-(void)viewWillDisappear:(BOOL)animated{
    [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setShadowImage:nil];
}

以上是来客网为你收集整理的ios – 将导航栏的背景图像设置为[UIImage new]全部内容,希望文章能够帮你解决ios – 将导航栏的背景图像设置为[UIImage new]所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。