【问题标题】:iOS navigation bar loses transparency when I set BarTintColor当我设置 BarTintColor 时,iOS 导航栏失去透明度
【发布时间】:2015-03-05 10:44:22
【问题描述】:
我对 iOS 开发还比较陌生,最近几天我一直在想如何创建一个带有自定义色调的半透明导航栏。
我现在的状态:
我创建了一个新项目,在导航视图中嵌入了一个红色视图,该导航视图嵌入在选项卡栏中。
在红色视图中,我将图像部分定位在导航视图的后面,以证明半透明功能正在发挥作用。 它有效。
-
我将条形颜色更改为白色:
[[UINavigationBar appearance] setBarTintColor: [UIColor whiteColor]];
-
半透明消失了。图像不再发光。所以我尝试了:
[[UINavigationBar appearance] setBarTintColor: [[UIColor whiteColor] colorWithAlphaComponent: 0.5]];
还是不行。
关于如何解决这个问题的任何建议?
谢谢。
【问题讨论】:
标签:
ios
navigation
uinavigationbar
translucency
【解决方案1】:
如果你只希望navigationBar的背景是半透明的,你可以试试:
[(UIView*)[self.navigationController.navigationBar.subviews objectAtIndex:0] setAlpha:0.5f];
我在这里找到了这个:https://stackoverflow.com/a/12389579/3626094
否则,如果你想要整个navigationBar半透明,包括按钮和标题你可以试试:
self.navigationController.navigationBar.tintColor = [UIColor blueColor];
self.navigationController.navigationBar.alpha = 0.5f;
self.navigationController.navigationBar.translucent = YES;
我在这里找到了这个:https://stackoverflow.com/a/6959527/3626094
【解决方案2】:
这对我有用:
[self.navigationController.navigationBar setTranslucent:NO];
self.navigationController.navigationBar.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];