像这样的效果,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];
}