iOS-导航栏透明

iOS-导航栏透明_第1张图片
54DC9192-8940-44B4-8408-F108E646B8A5.png

像这样的效果,navigationController.navigationBar变为透明,同时又不影响返回等按钮的使用,网上有很多方法,我这里说说通过setBackgroundImage方法修改,一张图片搞定。

找你美工搞张图片,或者你用ps,什么图层都不用,直接保存,图片宽高为1*1,就是一张全通道透明的图片,图片命名你随意,我这里是"navigation_bar_background.png"

代码:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigation_bar_background.png"] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

要是在push出来的页面不需要透明了,在本页面viewWillDisappear函数,setBackgroundImage传nil即可
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
}

你可能感兴趣的:(iOS-导航栏透明)