专栏首页iOS 开发导航栏的设置 背景 线

导航栏的设置 背景 线

一、设置导航栏底线

  1. 简单获取底线
- (UIView *)navLine {
    if (!_navLine) {
        UIView *backgroundView = [self.navigationController.navigationBar subviews].firstObject;
        _navLine = backgroundView.subviews.firstObject;        
    }
    return _navLine;
}

2.单个页面设置隐藏显示

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.navLine.hidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.navLine.hidden = NO;    
}

二、设置导航栏背景图 1.设置导航栏背景图所需的各个尺寸 1倍图 640 * 128 px (一般用不到) 2倍图 750 * 128 px (5s,6,6s, 7) 3倍图 1242*192 px (6p, 6sp) 备注:其实一般两种图就足够,5s也是用2倍图,现在一般最低适配到5s,当然如果需求不一样就三张。

设置导航背景图代码

/*设置图片拉伸范围 如果图片被挤压变形的情况下*/
   UIImage *backImage = [UIImage imageNamed:@"homeNav"]; 
   backImage = [backImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 100, 10, 10)];

/*设置背景图*/
   [self.navigationController.navigationBar setBackgroundImage:backImage forBarMetrics:UIBarMetricsDefault];

设置导航条背景图片时有时self.view会向下偏移64像素

//此句代码解决坐标问题

[self.navigationController.navigationBar setTranslucent:YES];

//当translucent = YES,controller中self.view的原点是从导航栏左上角开始计算

//当translucent = NO,controller中self.view的原点是从导航栏左下角开始计算

设置导航栏背景纯色

   UINavigationBar *bar = [UINavigationBar appearance];
   bar.barTintColor = [UIColor colorWithRed:62/255.0 green:173/255.0 blue:176/255.0 alpha:1.0];

设置导航栏title字体类型和大小

 [self.navigationController.navigationBar setTitleTextAttributes:@{
                                                                      NSFontAttributeName:[UIFont fontWithName:@"Helvetica-Bold" size:22],
                                                                      NSForegroundColorAttributeName:[UIColor whiteColor]
                                                                      }];

设置导航栏透明

- (void)viewWillAppear:(BOOL)animated {
    
    [super viewWillAppear:animated];
    
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];    
    [self.navigationController.navigationBar setShadowImage:[UIImage new]];
    
}

- (void)viewWillDisappear:(BOOL)animated {
    
    [super viewWillDisappear:animated];
    
    [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];``    
    [self.navigationController.navigationBar setShadowImage:nil];
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Masnory 约束同行View

    developerbfl
  • 根据后台返回的UIButton title动态改变UIButton宽度

    developerbfl
  • UIButton扩展Block点击事件

    developerbfl
  • SDN开发笔记(六):yang模型理解

    前言 继之前分享的几篇文章之后,这篇文章分享自己对于YANG模型的理解。 关于其他如何搭建环境以及编写app等等请阅读下前几篇文章。 一、Yang的来源 早在2...

    SDNLAB
  • Fortran知识 | 代码错误(数组越界)

    如图所示,提示为: Subscript #1 of the array INDEX has value 61 which is greater than the...

    fem178
  • json-schema入门

    json-schema(一) 相关知识点 它是什么 描述json的数据格式 有什么优点 描述自定义的数据格式 清晰,对人和机器友好 完整的结构校验 自动化测试 ...

    IMWeb前端团队
  • 看网络犯罪分子如何通过手机游戏洗钱

    近期,安全专家发现了一个网络犯罪组织的洗钱链条,在整个洗钱环节中,网络犯罪分子使用了伪造的苹果账号和游戏账号来进行盗刷信用卡交易,并在各大在线论坛和游戏社区中出...

    FB客服
  • json-schema入门

    方便书写jsonschema格式 vm工具 json schema lint 一个在线的格式检验工具,可以作为插件集成到构建中去

    IMWeb前端团队
  • 谷歌大脑深度学习从入门到精通视频课程[9.9]:计算机视觉——数据扩展

    AI100 已经引入 Hugo Larochelle 教授的深度学习课程,会在公众号中推送,并且对视频中的 PPT 进行讲解。课后,我们会设计一系列的问题来巩...

    AI科技大本营
  • 谷歌大脑深度学习从入门到精通视频课程[10.1]:自然语言处理——动机

    AI100 已经引入 Hugo Larochelle 教授的深度学习课程,会在公众号中推送,并且对视频中的 PPT 进行讲解。课后,我们会设计一系列的问题来巩...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券