在viewWillAppear里面加两行代码
//设置导航栏背景图片为一个空的image,这样就透明了
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
//去掉透明后导航栏下边的黑边
[self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
如果不想让其他页面的导航栏变为透明
在viewWillDisappear里面重置一下
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
我之前使用的方法是:给导航栏设置一张对应尺寸的全透明图片即可。
你的采纳是我前进的动力,还有不懂的地方,请继续“追问”。
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助。