我正在尝试为我的视图找到一个漂亮的半透明黑色导航栏。背景图片是一个漂亮的黑色和白色,所以应用程序中的自动半透明应该是足够的,但是当我运行应用程序时,我得到一个几乎100%不透明的白色导航栏。
我已经回顾了网站上的许多问题,并且没有运气就尝试了很多提供的答案,我已经看过了:
Achieving bright, vivid colors for an iOS 7 translucent UINavigationBar'
和这个
http://www.appcoda.com/customize-navigation-status-bar-ios-7/
但我仍然没有得到我正在寻求的解决方案,我得到的关闭是当视图最初显示它具有正确的级别时,一旦segue结束,导航栏变得完全不透明。这是我正在尝试使用的代码:
self.navigationController.navigationBar.alpha= .8f;
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.translucent = YES;
这就是我得到的结果:
奇怪的是,正如我提到的当segue呈现视图时,导航栏只有一个外观,当它完全呈现时它有一个完全不同的外观,见图像:
这是在视图完全加载之前:
这是在它满载之后:
我真的很感激你的帮助,谢谢你。
编辑:我尝试了以下代码但没有成功:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
return YES;
}
答案 0 :(得分:0)
如果您希望此样式适用于您应用程序中的所有唠叨栏,那么我建议您通过外观代理设置导航栏样式。
在您的AppDelegate.m(或您的app delegate文件中的任何内容)中,将didFinishLaunchingWithOptions:方法替换为下面的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
return YES;
}
将UIBarStyleDefault用于通常的半透明条。
试试这个并告诉我它是否有效
答案 1 :(得分:0)
我认为这是iOS 7.0.3以来的一个问题。试试这个。使用之前使用的颜色,但设置alpha = 0.67。
UIColor * navColor = ...;
self.navigationBar.barTintColor = [navColor colorWithAlphaComponent:0.67];