1、在开发过程中我们可能遇到更改状态栏的颜色、或者文字颜色等操作,下面就是状态栏的一些基本操作
当我们开发过程中,我们可能会遇到进入每一个页面状态栏的颜色、或者文字颜色都是不一样的。那我们怎么实现呢?
首先我们在info.plist文件加入下面这些
<key>UIStatusBarHidden</key>
<false/>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
加入完成以后,我们剩下的就是应用了
//设置字体颜色
- (UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;//白色
}
//设置状态栏颜色
- (void)setStatusBarBackgroundColor:(UIColor *)color {
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = color;
}
}
//!!!重点在viewWillAppear方法里调用下面两个方法
-(void)viewWillAppear:(BOOL)animated{
[self preferredStatusBarStyle];
[self setStatusBarBackgroundColor:[UIColor redColor]];
}
将这些代码完成以后,我们就能时时更改每一个页面的状态栏颜色
2、当我们在开发过程中,我们会发现视图向下移动一些坐标,下面这个方法就能得到解决
if (@available(iOS 11.0, *)){
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}else{
self.automaticallyAdjustsScrollViewInsets = NO;
}