uinavigationcontroller - 更改半透明黑色 UINavigationBar 的颜色

标签 uinavigationcontroller uinavigationbar uicolor translucency

我偶然发现了很多次,从未找到解决方案。
UINavigationController 的 navigationBar 可以设置为黑色半透明,如:

self.navigationController.navigationBar.barStyle=UIBarStyleBlackTranslucent;

此外,在 UINavigationBar 中有一个半透明属性,文档说:

When YES, the navigation bar is drawn with partial opacity, regardless of the bar style. The amount of opacity is fixed and cannot be changed. It is permissible to set the value of this property when the navigation bar is being managed by a navigation controller object.



我试过
self.navigationcontroller.navigationBar.tintColor=[UIColor blueColor];
self.navigationcontroller.navigationBar.translucent=YES;

和一千种变化:首先设置半透明属性,在 AppDelegate 和 ViewController 中设置它,首先设置 barstyle。
结果总是一样的:没有透明度。 因此我的问题是:

是否真的可以将半透明 UINavigationBar 的颜色更改为不同于黑色的颜色 (最好在 UINavigationController 中)?

我希望有一个审查安全的解决方案。

谢谢,米

最佳答案

一旦你知道它,它就相当简单:

self.navigationController.navigationBar.tintColor = [UIColor blueColor];
self.navigationController.navigationBar.alpha = 0.7f;
self.navigationController.navigationBar.translucent = YES;
translucent属性似乎只是确定主视图是否应该在导航栏下可见,并适本地调整 View 的大小。

关于uinavigationcontroller - 更改半透明黑色 UINavigationBar 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781466/

相关文章:

ios - 如何在 iOS 7 上更改状态栏背景颜色和文本颜色?

ios - 仅比较黑色和灰色的 UIColor 不正确

ios - 在将 View Controller 推送到导航堆栈之前调用 viewDidAppear()

iphone - iOS:如何在没有任何可见用户界面的情况下正确使用导航 Controller

ios - 导航栏后退按钮颜色在 iPad 中不起作用

iOS 导航问题 : after pushing a ViewController, 导致导航栏显示上一个 ViewController 的导航项

ios - 将 UINavigationBar 附加到 UIScrollView 以获得缩小的标题

ios - 'UIColor'的可见@interface没有声明选择器'blendedColorWithFraction:ofColor:'

iphone - 如何使用隐藏的导航栏将导航 Controller 正确添加到我的搜索 View

ios - 在导航 Controller 中转到 "back"时,ARC 未释放内存 - 它正在减慢我的 uipageviewcontroller