美文网首页
自定义导航

自定义导航

作者: JaneEyre3X | 来源:发表于2017-04-19 18:47 被阅读0次

很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴.

一.更改状态栏颜色 (StatusBar)

就是比如导航栏是红色的状态栏是绿色的.

要实现这样的效果其实很简单,就是添加一个背景view.

简单的实现过程如下:

1//设置导航颜色  可用2[self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];3//创建一个高20的假状态栏4UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, self.view.bounds.size.width,20)];5//设置成绿色6statusBarView.backgroundColor=[UIColor greenColor];7//添加到 navigationBar 上8[self.navigationController.navigationBar addSubview:statusBarView];

二.自定义 StatusBar 和 NavigationBar 的颜色

再说一下实现导航栏的标题的字体和颜色

效果如下:

代码如下:

1// Attributes 属性

2 NSDictionary  *textAttributes=@{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:30]};

3//设置导航栏的字体大小

  颜色

4 [self.navigationController.navigationBar setTitleTextAttributes:textAttributes];

三.隐藏 NavigationBar 和 StatusBar

效果如下:

代码如下:

1//隐藏NavigationBar(导航栏)

2//[self.navigationController setNavigationBarHidden:YES];

3[self.navigationController setNavigationBarHidden:YES animated:YES];

效果如下:

代码如下:

1//隐藏状态栏  重写prefersStatusBarHidden

2-(BOOL)prefersStatusBarHidden

3

{

 returnYES;

// yes

隐藏5

}

四.状态栏字体颜色 白色

代码如下:

方法一:

1//设置 状态栏 字体白色2//默认黑色 UIBarStyleDefault3//白色 UIBarStyleBlack ; UIBarStyleBlackOpaque ;  UIBarStyleBlackTranslucent4[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];5//[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

方法二:

1//状态栏字体 白色 重写preferredStatusBarStyle 方法

2-(UIStatusBarStyle)preferredStatusBarStyle

3{

4//UIStatusBarStyleLightContent 白色

5//UIStatusBarStyleDefault      黑色

6

returnUIStatusBarStyleLightContent;7

}

五.设置导航栏的背景图片

效果如下:

代码如下:

1//设置导航栏的背景图片

2[self.navigationController.navigationBar setTranslucent:YES];//设置navigationBar的透明效果

3[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"导航栏背景图片"] forBarMetrics:UIBarMetricsDefault];

相关文章

网友评论

      本文标题:自定义导航

      本文链接:https://www.haomeiwen.com/subject/vsphzttx.html