最近,本人在于做指纹、面容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;
});
}
做个延迟设置,才起效果。
特此记录,方便后续跟进
iOS开发:解决指纹登录状态栏样式异常问题
在iOS应用中,遇到一个特定场景:从登录页模态弹出的指纹登录页面,直接切换rootViewController到首页时,状态栏(statusBar)的样式设置失效。尝试了多种常规方法如viewWillAppear和preferStatusBarStyle,均未奏效。最终通过在viewDidAppear中使用延迟设置statusBarStyle为UIStatusBarStyleLightContent解决了问题。这是一个关于iOS界面交互和状态栏管理的常见难题,对于开发者来说具有一定的参考价值。
2万+

被折叠的 条评论
为什么被折叠?



