在我的导航栏iOS 7中设置色调/半透明级别的问题
我正在尝试为我的视图获得一个漂亮的半透明黑色导航栏。背景图像是漂亮的黑白,所以应用程序中的自动半透明应该足够了,但当我运行应用程序时,我得到了一个几乎100%不透明的白色导航栏 我回顾了网站上的许多问题,并尝试了许多提供的答案,但运气不佳,我看了以下内容: " 还有这个 但我仍然没有得到我正在寻找的解决方案,我得到的结果是当视图最初显示它具有正确的级别时,一旦序列结束,导航栏就会变得完全不透明。这是我目前正在尝试使用的代码:在我的导航栏iOS 7中设置色调/半透明级别的问题,ios,objective-c,uinavigationcontroller,uinavigationbar,Ios,Objective C,Uinavigationcontroller,Uinavigationbar,我正在尝试为我的视图获得一个漂亮的半透明黑色导航栏。背景图像是漂亮的黑白,所以应用程序中的自动半透明应该足够了,但当我运行应用程序时,我得到了一个几乎100%不透明的白色导航栏 我回顾了网站上的许多问题,并尝试了许多提供的答案,但运气不佳,我看了以下内容: " 还有这个 但我仍然没有得到我正在寻找的解决方案,我得到的结果是当视图最初显示它具有正确的级别时,一旦序列结束,导航栏就会变得完全不透明。这是我目前正在尝试使用的代码: self.navigationController.navigat
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;
}
如果您希望应用程序中的所有nag栏都使用这种样式,那么我建议您通过外观代理设置导航栏样式 在AppDelegate.m(或任何app delegate文件)中,将didfishlaunchingwithoptions:方法替换为下面的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
return YES;
}
使用UIBarStyleDefault作为常用的灯光半透明条
试试这个,告诉我它是否有效我相信这是iOS 7.0.3以来的一个问题。试试这个。使用之前使用的颜色,但将alpha设置为0.67
UIColor*navColor=。。。;
self.navigationBar.barTintColor=[navColor-WithAlphaComponent:0.67]
@vzm另外,我注意到在您发布的代码中,您有self.navigationController.navigationBar.tintColor=[UIColor blackColor]代码>在第二行。这只决定了长条上东西的颜色,而不是长条本身的颜色。要设置导航栏的颜色,请使用self.navigationController.navigationBar.barTintColor=代码>谢谢,这实际上是我的错别字;)据我所知,苹果并不真的希望你改变导航条的alpha值。但也有一些变通办法。这里有一个类似的问题可能会有所帮助。