最近,本人在于做指纹、面容ID登录时发现,从登录页直接改变window的rootViewController到首页时,一切关于statusBar 的设置正常工作。但是从登录页modal出来的指纹登录页,直接改变rootViewController到首页的时候,statusBar相关代码就不能正常工作了。
尝试过多种方法,包括在viewWillAppear方法,preferStatusBarStyle等方法,都无效果。
最终,直接在如下实现
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
});
}
做个延迟设置,才起效果。
特此记录,方便后续跟进