黑马程序员--iOS默认状态栏文字颜色更改

来源:互联网 发布:破解版360企业云盘mac 编辑:程序博客网 时间:2024/06/07 22:56
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

iOS7默认状态栏文字颜色为黑色, 修改为白色的方法:

1在Info.plist中设置View controller-based status bar appearance为NO2 在需要改变状态栏颜色的ViewController中在ViewDidLoad方法中增加:UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];如果需要在全部View中都变色,可以写在父类的相关方法中。


iOS7中隐藏状态栏的方法
在plist里先添加状态栏隐藏,然后还要添加key:View controller-based status bar appearance  默认值NO,加上状态栏就没了

iOS6中状态栏的背景会随着视图颜色的改变而改变,而状态栏的文字是可以通过其他API去设置的:如
 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; if ([[[UIDevicecurrentDevice] systemVersion] doubleValue]>=7.0) {     self.edgesForExtendedLayout=UIRectEdgeNone;}


//创建一个高20的假状态栏背景

UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, 320, 20)];    statusBarView.backgroundColor=[UIColor blackColor];


此时的状态栏也是导航栏的一部分,而状态栏文字浮于上方,因此理论上直接在导航栏上添加一个subview就是他们中间的那一层了。

   

[self.navigationController.navigationBar addSubview:statusBarView];    [[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


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

[self.navigationController.navigationBar setBackgroundImage:[UIImageimageNamed:@"bg.jpg"] forBarMetrics:UIBarMetricsDefault]; 


// 以上关于NavigationController的设置代码写在 NavigationController的Root目录


0 0
原创粉丝点击