将褪色较暗的背景设置为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]];