我们的设计师希望导航栏具有与视图相同的背景颜色。但是,他们还希望导航栏保持半透明状态。
显然,如果我把它设置为非半透明的,那么它就是一种享受:
[[UINavigationBar appearance] setTranslucent:NO];
但这不是预期的效果。有没有一种方法可以让它们变成相同的颜色,而无需花费数小时调整导航栏的背景颜色?
当我们将导航和视图设置为相同颜色时,这就是它的样子:
答案 0 :(得分:1)
Try this code
[self.navigationController.navigationBar setBarTintColor:[UIColor backgroundcolor]];
[self.navigationController.navigationBar setTranslucent:NO];
答案 1 :(得分:1)
只需为背景和阴影设置空白图片:
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
答案 2 :(得分:0)
使用此代码希望它可以正常工作
[self.navigationController.navigationBar setBarTintColor:self.view.backgroundColor];
[self.navigationController.navigationBar setTranslucent:NO];
答案 3 :(得分:-1)
我认为以下代码可以帮助您实现这一目标。
[[UINavigationBar appearance]setBarTintColor:[UIColor colorWithRed:0.04 green:0.38 blue:0.95 alpha:1.0]];
[[UINavigationBar appearance]setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
[[UIBarButtonItem appearance]setTintColor:[UIColor colorWithRed:1.00 green:1.00 blue:1.00 alpha:1.0]];
[[UINavigationBar appearance]setTintColor:[UIColor whiteColor]];
您也可以使用RGB代码或十六进制的颜色。