【IOS开发笔记5】改变导航栏及状态栏的背景、文字颜色

ios软件中,导航栏几乎是每个应用都会被需要的,通常在顶部,修改颜色是最基本的操作,但对于胖爷这样的新手,往往会一头雾水。

ios状态栏,是个略微特殊的东东,不像其他组件(想要就创建一个,不添加就没有),缺省的,它就在那里(最最顶部那20像素的玩意,内容却很丰富,电量、时间、网络信号等)。关于它,有个基本概念,是状态栏分为前景和背景两部分(怎么有点像avg游戏),前景主要是时间、电量等,背景是纯色(黑、白)或图片。

一、先记录下导航栏的颜色设置:

1)局部设置

//设置导航背景颜色 深蓝

self.navigationController.navigationBar.barTintColor = RGB(0, 0, 102);

//设置导航栏文字颜色 白色

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor]};

//设置按钮文字颜色 白色

self.navigationController.navigationBar.setTintColor = [UIColor whiteColor]];

2)全局设置(要在AppDelegate.m中)

//设置导航背景颜色 深蓝

[[UINavigationBar appearance] setBarTintColor:RGB(00102)];

//设置导航栏文字颜色 白色

[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

//设置按钮文字颜色 白色

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

//设置导航栏按钮字体大小

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont boldSystemFontOfSize:15], UITextAttributeFont,nil] forState:UIControlStateNormal];

二、状态栏的颜色设置(方法比较多,容易被搞晕)

1)代码直接设置(也可设置图片,这里不说明了,胖爷不喜欢)

self.navigationController.navigationBar.barStyle = UIBarStyleBlack//状态栏和导航栏(字体变白)

2)修改plist(胖爷没有做,需要用的情况可以这样做)
View controller-based status bar appearance 设置为 NO

然后:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

注:如果View controller-based status bar appearanceYES[UIApplication sharedApplication].statusBarStyle 无效。

原创文章,转载请注明: 转载自顾威敏博客

本文链接地址: 【IOS开发笔记5】改变导航栏及状态栏的背景、文字颜色

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>