美文网首页
导航条和状态栏相关

导航条和状态栏相关

作者: 唔将 | 来源:发表于2017-03-08 11:56 被阅读8次

    状态栏

    1.iOS7之后默认将状态栏的属性交给当前所属控制器管理:

    一、若当前控制器不是导航控制器:

        (1) 在当前控制器实现:- (UIStatusBarStyle)preferredStatusBarStyle{

                                                    return UIStatusBarStyleLightContent; //状态栏字体为白色

                                                return UIStatusBarStyleDefault; // 状态栏字体为黑色

                                            }

        (2)-(BOOL)prefersStatusBarHidden {

                        return YES;    //隐藏状态栏

                        return NO; //

    }

    二、当前控制器为导航控制器:

    // 状态栏字体为黑色

    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;

    // 状态栏字体为白色

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

    2.

    若交由appDelegate管理的话,需要在infoPlist添加View controller-based status bar appearance字段,并设置其值为NO;

    (1)[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;//状态栏字体为黑色

    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;//状态栏字体为白色

    (2)[UIApplication sharedApplication].statusBarHidden = YES; 隐藏状态栏

    [UIApplication sharedApplication].statusBarHidden = NO;否

    导航条:

    若要将状态栏和导航条的颜色设置成一体的话,需要实现  (传入一张所需的图片即可)

    [self.navigationController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"tab_bg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forBarMetrics:UIBarMetricsDefault];

    /** 覆盖导航下面 黑线 */

    [self.navigationController.navigationBar setShadowImage:[UIImage new]];

    设置导航条字体;

    [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithHexString:kTextNormolColor],NSFontAttributeName:[UIFont boldSystemFontOfSize:17.0]}];

    相关文章

      网友评论

          本文标题:导航条和状态栏相关

          本文链接:https://www.haomeiwen.com/subject/tiampttx.html