iOS6 与iOS7以及7以上状态栏的颜色设置

iOS7默认状态栏文字颜色为黑色

修改为白色的方法:(chenyong注意 我的Status bar style 使用的仍是默认值Gray style(default))

1在Info.plist中设置View controller-based status bar appearance 为NO
2 在需要改变状态栏颜色的ViewController中在ViewDidLoad方法中增加:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

如下:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
}

如果需要在全部View中都变色,可以写在父类的相关方法中。

在使用Cordova的时候遇到的状态栏合并问题

- (void)viewWillAppear:(BOOL)animated
{
    // View defaults to full size.  If you want to customize the view‘s size, or its subviews (e.g. webView),
    // you can do so here.

    // 导航与状态栏合并的问题
    float currentVersion = [[[UIDevice currentDevice] systemVersion] floatValue];

    if (currentVersion >= 7) {
        // bounds 是以自身的左上角为坐标原点
        CGRect viewBounds = [self.webView bounds];
        viewBounds.origin.y = 20;
        viewBounds.size.height = viewBounds.size.height - 20;
        self.webView.frame = viewBounds;
        self.view.backgroundColor = [UIColor blackColor];
    }

    [super viewWillAppear:animated];
}
时间: 2024-10-12 16:22:54

iOS6 与iOS7以及7以上状态栏的颜色设置的相关文章

把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一

第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status bar appearance =NO 这个意思是:View Controller 不对status Bar 显示进行操作 第二步: 由于项目是一个以tabbarController的父类进行开发的;所以在这个父类里面添加如下方法: [[UIApplication sharedApplication] s

iOS6和iOS7的导航栏区别

在说明autolayout之前先说明一下iOS6和iOS7的导航栏区别,还是通过简单的图来说明吧,一个坐标为(0,0,320,200)的ImageView,即Y坐标为0,如下图, iOS6的效果图, iOS7的效果图, 可以看出明显的区别,ImageView在iOS7系统上面,上面一截的内容被导航栏和状态栏遮挡. 在iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不再单独占用高度,即View的(0,0)坐标是从屏幕左上角开始的:而在iOS7之前的系统中,

iOS6和iOS7代码的适配(2)——status bar

用Xcode5运行一下应用,第一个看到的就是status bar的变化.在iOS6中,status bar是系统在处理,应用中不需要考虑这部分,iOS7之后是应用在处理,每个ViewController都可以控制status bar. iOS7里面的status bar是透明的,会把下面的内容一起显示出来,比如我的应用色调是深色调,希望status bar上的图标是浅色的.那么我需要做两步: 1. 在info.plist中设置View controller-based status bar ap

ios6与iOS7 的图片适配

iOS6 与IOS7 适配时 应在Main.storybord中ViewController中顶部第4选项中的ViewController-->Extend Edges中的 全部选项设为不选中状态(Under Top Bars ,Under Bottom Bars,Under Opaque Bars),避免图片向四周扩展 如果在运行有问题,在顶部的第一个选项中的Use Auto Layout 设为不选中 再运行时记得清楚缓存 ios6 导航栏背景的出图规格 非Retina: 320 X 44 p

iOS开发之iOS7设置状态栏字体颜色

应用中登陆界面颜色较浅,状态栏字体颜色为黑色,跳转到主界面之后,界面颜色较深,状态栏颜色随之变成白色.但是再重新返回登陆界面后,状态栏字体颜色并没有改成黑色,特别别扭. plist文件里将View controller-based status bar appearance改为NO然后在view controller里边加上下边一句就可以了,这样状态栏是黑字 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyle

简单的IOS6和IOS7通过图片名适配

在美工提供图片图片的前提下,只需要下面给UIImage做一个分类,就可以简单的实现在6和7上的图片名字适配. 比如美工在6上面提供的图片叫common_button_big_red_highlighted.png,7上的名字[email protected],通过下面的简单代码就可以实现6和7的图片适配,而且在调用的时候十分方便,只需要通过[UIImage imageWithNamed:]就可以,跟体统自带的[UIImage imageNamed:]类似: + (UIImage *)imageW

iOS6和iOS7代码的适配(6) —— NSLocalizedString

我们的应用都是需要国际化的,字符串也是重要的一环.一般来说,我们是通过一个string资源文件来实现这个目的的,我们需要支持几种语言,就把这个文件本地化多少次.代码中需要用NSLocalizedString这个宏,比如,我希望设置一个tableView的title: self.navigationItem.title = NSLocalizedString(@"test", nil); 我们这里加了英文和简体中文两种语言. 如果客户选择了我们没有本地化的语言呢?比如,我们选择了繁体中文

UIViewController中的view自动排版(ios6和ios7)

问题提出,ios6和ios7中视图控制器的创建中的view的是会自动排版的,就是你自定义其中的view,也改变不了其尺寸,ios6自定义的尺寸是{{0, 20}, {320, 460}},ios7自定义的尺寸是{{0, 0}, {320, 480}}这就为兼容性造成很大的困扰? //解决方案,苹果这么设计貌似是为了自动匹配设备方向的改变,那么我们就可以在设备支持方向里面进行尺寸的修改, eg:- (BOOL)shouldAutorotateToInterfaceOrientation:(UIIn

iOS:如何让xib同时兼容支持iOS6和iOS7

做法如下: 1. 取消xib的Use Autolayout属性的勾选: 2. 将xib中每一个子控件(没错,每一个控件,包括UIButton.UILabel等等),将它们的Y Frame的值全部增加20.然后将它们的ΔY值全部设为-20. 就是这样. iOS:如何让xib同时兼容支持iOS6和iOS7