ios开发-status bar总结

status bar总结

改变status bar 的颜色

最快捷的3方式:

  1. info.plist中info.plist中View controller-based status bar appearance设置为NO(默认为YES)设置为NO(默认为YES),设置deployment info中
    这里写图片描述

  2. 同样在info.plist中View controller-based status bar appearance设置为NO的情况下,在info.plist中中设置Status bar style
    这里写图片描述

  3. 代码设置:前提同样为View controller-based status bar appearance设置成NO。

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

以上3中方式View controller-based status bar appearance均设置成NO,因此这几种方式都不是通过视图控制器来控制状态栏的。

当View controller-based status bar appearance设置成YES(默认)时,上述方法都将失效。视图控制器通过下面3个方法来控制状态栏

//状态栏颜色
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleDefault;
}

//是否隐藏状态栏
- (BOOL)prefersStatusBarHidden{
    return NO;
}

//状态栏状态改变时的动画效果
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation{
    return UIStatusBarAnimationSlide;
}

注意

如果你使用了系统的UINavigationController,且它的navigationBar没有被隐藏的话,它的rootController及之后push的controller的preferredStatusBarStyle方法不会被调用(其他两个方法还是会被调用); UINavigationController会根据自己navigationBar的barStyle,来决定StatusBarStyle的值; 如果你设置了self.navigationController.navigationBarHidden = YES; 那preferredStatusBarStyle就会被正常调用了。

隐藏 显示状态栏

View controller-based status bar appearance为NO的情况下设置

[[UIApplication sharedApplication] setStatusBarHidden:YES];

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值