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

前端之家收集整理的这篇文章主要介绍了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相关文章