iOS 设置状态栏样式 启动页隐藏状态栏

博客介绍了iOS状态栏管理的两种方式,一是通过UIApplication管理,iOS7后默认由控制器管理,可通过Info.plist文件设置。还说明了实现启动页隐藏状态栏、首页显示状态栏的具体步骤,包括设置默认隐藏、文件字段、状态栏样式等,若有特定控制器还需额外设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、状态栏管理有两种方式,第一种是UIApplication来管理状态栏,而iOS7之后默认情况下状态栏是交给控制器管理的,可通过Info.plist文件的View controller-based status bar appearance字段设置。

1.View controller-based status bar appearance设置为YES,UIViewController来管理

[UIApplication sharedApplication].statusBarHidden = NO;
[UIApplication sharedApplication].statusBarHidden = YES;
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

2.View controller-based status bar appearance设置为NO,UIApplication来管理

- (BOOL)prefersStatusBarHidden {
    return NO;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
	return UIStatusBarStyleLightContent;
}

二、实现启动页隐藏状态栏,进入首页显示状态栏的效果:
1.首先设置工程默认状态栏隐藏在这里插入图片描述
2.Info.plist文件的View controller-based status bar appearance设置为YES

3.ViewController里设置状态栏样式

- (BOOL)prefersStatusBarHidden {
    return NO;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

4.若有UINavigationController和UITabBarController还需要设置

- (BOOL)prefersStatusBarHidden {
    return self.topViewController.prefersStatusBarHidden;
}
- (UIViewController *)childViewControllerForStatusBarStyle{
    return self.topViewController;
}

5.若有支持屏幕旋转的控制器,设置竖屏显示状态栏 横屏隐藏状态栏

- (BOOL)prefersStatusBarHidden {
    return [[UIDevice currentDevice] orientation] == UIInterfaceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation] == UIInterfaceOrientationLandscapeRight;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值