使用纯色背景使导航栏不透明

11

我试图为导航栏设置纯色,但它总是半透明的。

我尝试过 SO 上的所有答案,但似乎都不起作用。

我已经尝试了:

在应用程序委托中:

[[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:89/255.0 green:196/255.0 blue:197/255.0 alpha:1.0f]];

在我的主要TableviewController中:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:89/255.0 green:196/255.0 blue:197/255.0 alpha:1.0f];

    self.navigationController.navigationBar.translucent = NO;

}

我还取消了属性检查器中的Translucent选项,并勾选了Opaque选项。

下面是我想要实现的效果图:

enter image description here

如何使导航栏不透明并具有纯色背景?

谢谢。

2个回答

13

进入导航栏的属性检查器,取消半透明选项的勾选。

请参见以下图片。

在此输入图片描述


1
我已经做过了并在我的问题中提到了它。但是它不起作用。 - s.d.
现在它是不透明的,但它没有显示所需的背景颜色。 - s.d.
它生效了。我改变了背景颜色而不是栏渐变色。这是我的错误。非常感谢。 - s.d.

1
我也在尝试弄清楚如何让导航栏背景成为纯色。我试图从Storyboard - Attribute inspector更改背景颜色,但那是错误的选项。
属性检查器中的Bar Tint颜色会更改导航控制器的背景颜色。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接