objective-c - 如何使我的导航栏统一半透明?

标签 objective-c cocoa uinavigationcontroller uinavigationbar ios7

我正在 iOS 7 上编写一个应用程序,但我似乎无法处理导航栏和工具栏的透明度,如何将导航栏设置为不透明度为 50% 的黑色?

我已经阅读了向 ios7 的过渡指南,并且观看了 wwdc13 讲座 214,但我的状态栏仍然具有与附加导航栏的其余部分不同的透明度。

这是我的代码:

// APP-WIDE THEMING
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackOpaque];
[[UINavigationBar appearance] setBackgroundColor:[UIColor blueColor]];  
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

这是我的问题的屏幕截图:http://grab.by/qiyU

最佳答案

将背景图像设置为nil,并将背景颜色设置为alpha。

[ctrl.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; 
ctrl.navigationController.navigationBar.backgroundColor = [UIColor colorWithRed:0 Green:0 Blue:0 Alpha:.5];

关于objective-c - 如何使我的导航栏统一半透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18821347/

相关文章:

ios - 从 [NSArray valueForKeyPath : @"@max.value"] other than just value 获取数据模型

cocoa - 重新加载选项卡 Controller 项目

swift - 子 uiviewcontroller 未加载到导航栏上

ios - 延迟将 HTML 字符串加载到 UIWebView

python - 引用 socket 时出现问题

objective-c - XCode 堆快照非对象增加导致内存崩溃

ios - CALayer 在 UIControlState 改变时改变 borderColor

objective-c - MacOS 应用程序窗口内的文件管理器

objective-c - 递增 NSTimer

iphone - 如何检测设备方向与界面方向不同?