我曾多次遇到这个问题,但从未找到解决方案。 可以将UINavigationController的navigationBar设置为黑色半透明,如下所示:
self.navigationController.navigationBar.barStyle=UIBarStyleBlackTranslucent;
另外,UINavigationBar中有一个translucent属性,文档中说:
当设置为YES时,无论bar style如何,导航栏都会以部分透明的方式绘制。不透明度固定且不能更改。在导航栏由导航控制器对象管理时,可以设置此属性的值。
我尝试了一下
self.navigationcontroller.navigationBar.tintColor=[UIColor blueColor];
self.navigationcontroller.navigationBar.translucent=YES;
有许多变化方式:首先设置半透明属性,在AppDelegate和ViewController中设置,先设置barstyle等等。
结果总是相同的:没有透明度。因此我的问题是:
是否真的有可能将半透明UINavigationBar的颜色更改为不同于黑色的颜色(最好是在UINavigationController内)?
希望能提供一个安全的解决方案。
谢谢,m
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
,它将不起作用,而你将会得到一个漂亮的黑色navigationBar。 - Carlos del Blanco