Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的导航栏iOS 7中设置色调/半透明级别的问题_Ios_Objective C_Uinavigationcontroller_Uinavigationbar - Fatal编程技术网

在我的导航栏iOS 7中设置色调/半透明级别的问题

在我的导航栏iOS 7中设置色调/半透明级别的问题,ios,objective-c,uinavigationcontroller,uinavigationbar,Ios,Objective C,Uinavigationcontroller,Uinavigationbar,我正在尝试为我的视图获得一个漂亮的半透明黑色导航栏。背景图像是漂亮的黑白,所以应用程序中的自动半透明应该足够了,但当我运行应用程序时,我得到了一个几乎100%不透明的白色导航栏 我回顾了网站上的许多问题,并尝试了许多提供的答案,但运气不佳,我看了以下内容: " 还有这个 但我仍然没有得到我正在寻找的解决方案,我得到的结果是当视图最初显示它具有正确的级别时,一旦序列结束,导航栏就会变得完全不透明。这是我目前正在尝试使用的代码: self.navigationController.navigat

我正在尝试为我的视图获得一个漂亮的半透明黑色导航栏。背景图像是漂亮的黑白,所以应用程序中的自动半透明应该足够了,但当我运行应用程序时,我得到了一个几乎100%不透明的白色导航栏

我回顾了网站上的许多问题,并尝试了许多提供的答案,但运气不佳,我看了以下内容:

"

还有这个

但我仍然没有得到我正在寻找的解决方案,我得到的结果是当视图最初显示它具有正确的级别时,一旦序列结束,导航栏就会变得完全不透明。这是我目前正在尝试使用的代码:

 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值。但也有一些变通办法。这里有一个类似的问题可能会有所帮助。