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

时间:2015-10-05 18:10:58

标签: ios swift uinavigationbar ios9

我正在尝试将褪色的较暗背景设置为导航栏,如下图所示。

enter image description here

我已尝试使用此代码,但这并不完全符合我的预期。

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)

1 个答案:

答案 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]];

这给出了结果: enter image description here

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

编辑:

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

enter image description here

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

以下是我使用的图片:

enter image description here

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

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