iOS在Xcode9.2运行iOS11系统时,下方键盘弹出导致statusBar颜色变化

在多人开发协作时,在appdelegate中,设置了navigationBar的barTintColor

navigationBar.barTintColor = [UIColor colorWithPatternImage:[[UIImage imageNamed:@"navigatorBar_bg"] scaleToSize:CGSizeMake(ScreenWidth, 1)]];

navigationBar.translucent = NO;

在iOS11之前版本没有问题statusBar颜色会和navigationBar颜色保持一致,

在升级xcode9.2之后,在系统为iOS11的手机上运行,发现下方有输入框的界面,在输入框弹出隐藏几次之后,statusBar的颜色会变回白色,搜索之后并没有发现问题的根源,所以就用了一个简单粗暴的办法,在这个界面重新单独设置statusBar的颜色,

- (void)setStatusBarBackgroundColor:(UIColor *)color {
   
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
   
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
       
        statusBar.backgroundColor = color;
    }
}
设置之后statusBar在键盘弹出隐藏时颜色不变。

若各位知晓问题原因或者有更好的解决办法,请告知,谢谢。

其余在此项目中遇到问题:

iOS NSMutableArray使用addObject:方法时数据被覆盖

聊天界面调用讯飞语音转换为文字,文字在cell上不显示

iOS聊天界面后台数据发送过快,导致展示cell的frame没有重新计算

iOS向后台发送图片,图片被翻转以及图片过大,发送缓慢问题的解决

你可能感兴趣的:(iOS在Xcode9.2运行iOS11系统时,下方键盘弹出导致statusBar颜色变化)