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];
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。