为了方便演示,我用storyBoard建立了一个基本的导航栏 并在代码中获得了NavgationBar

 

	
UINavigationBar *bar = self.navigationController.navigationBar;

 

1
 

 

iOS设置UINavigationBar 的样式

 

[bar setTintColor:[UIColor whiteColor]];

 

设置导航栏Title颜色

 

1
2
3
[
bar setTitleTextAttributes:@{
                                  NSForegroundColorAttributeName :[UIColor whiteColor]
                                  }];

 

如果需要设置返回按钮的颜色,设置bar的tintColor即可

 


iOS设置UINavigationBar 的样式

 

 

 

设置UINavigationBar背景图片

 

1
[bar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault];
1
 
iOS设置UINavigationBar 的样式

 

 

 

 

设置UINavigationBar全透明, 此处随便设置一张图片即可,重要的是BarMetrics属性决定了bar的样式

 

1
[bar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsCompact];
1
 
iOS设置UINavigationBar 的样式

 

 

 

 

设置导航栏下方不显示内容,此时导航栏无透明度

 

1
self.extendedLayoutIncludesOpaqueBars = YES;
1
 
使用storyBoard需要在控制器中设置

 

 

iOS设置UINavigationBar 的样式

完成之后就是这样了,但是bar的tintColor会成为下方内容的颜色。 
iOS设置UINavigationBar 的样式

 

 

同时在滚动视图中 设置

automaticallyAdjustsScrollViewInsets属性可以控制滚动内容是否会在bar下方显示。

 

 

 

相关文章:

  • 2021-07-04
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-22
  • 2022-12-23
  • 2021-05-17
猜你喜欢
  • 2022-12-23
  • 2022-02-22
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案