将褪色较暗的背景设置为UINavigationBar

我试图设置一个褪色较暗的背景导航栏,你可以看到下面的图片。

在这里输入图像说明

我已经试过这个代码,但它不是我所期望的。

UINavigationBar.appearance().backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.4) 

我发现这个话题,但没有合适的答案:

通过UISplitViewController的iOS 7导航栏显示褪色的灰色视图

任何想法将不胜感激。

编辑2015年10月6日:如果有人需要知道如何执行

对于Swift用户: – 特别是viewcontroller:我使用:

  self.navigationController!.navigationBar.setBackgroundImage(UIImage(named: "fadedimage.png"), forBarMetrics: .Default) 

在主NavigationController(应用到所有navigationBar)我使用:

 UINavigationBar.appearance().setBackgroundImage(UIImage(named: "fadedimage.png"), forBarMetrics: .Default) 

这可能不是正确的方法,但是您可以通过使用自定义图像来实现相同。

从互联网上下载一个透明的图像,我把它命名为transparent.png

并设置导航栏背景图片:

 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"transaprent.png" ] forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]; 

这给出了结果: 在这里输入图像说明

稍后,您可以将阴影效果应用于导航栏。

编辑:

我donwloaded一个自定义阴影透明PNG图像,并应用它使用上面的代码。

在这里输入图像说明

您仍然可以根据您的要求使用更好的自定义图像来改善这一点。

这是我使用的图像:

在这里输入图像说明

要删除导航栏上显示的底部边框,请使用以下代码:

  [self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];