我正在尝试将褪色的较暗背景设置为导航栏,如下图所示。
我已尝试使用此代码,但这并不完全符合我的预期。
UINavigationBar.appearance().backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.4)
我找到了这个话题,但没有合适的答案:
Shows a faded gray color view through iOS 7 Navigation bar of a UISplitViewController
任何想法都将受到赞赏。
编辑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)
答案 0 :(得分:1)
这可能不是正确的方法,但您可以通过使用自定义图像来实现相同目的。
从互联网上下载透明图片,我将其命名为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]];
稍后您可以将阴影效果应用于导航栏。
编辑:
我下载了一个自定义阴影透明png图像,并使用上面的代码应用它。
您仍然可以根据自己的要求使用更好的自定义图片来改善这一点。
以下是我使用的图片:
要删除导航栏上显示的下边框,请使用以下代码:
[self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];