新浪微博客户端(4)-设置导航栏主题

新浪微博客户端(4)-设置导航栏主题

大家好,又见面了,我是全栈君。

为了使整个项目的NavigationBar 上的UIBarButtonItem的颜色,字体大小一致,需要设置导航栏主题

由于项目使用的是自定义的DJNavigationController,而又要保证只设置一次,所以将设置主题的代码写在DJNavigationController.m文件中的initialize方法中。

DJNavigationController.m

#import "DJNavigationController.h"

@implementation DJNavigationController



+ (void)initialize {

    UIBarButtonItem *btnItem = [UIBarButtonItem appearance];
    
    // 设置当前item可用状态
    NSMutableDictionary *normalAttr = [NSMutableDictionary dictionary];
    // 设置前景色
    normalAttr[NSForegroundColorAttributeName] = [UIColor orangeColor];
    // 设置当前字体大小
    normalAttr[NSFontAttributeName] = [UIFont systemFontOfSize:14];
    [btnItem setTitleTextAttributes:normalAttr forState:UIControlStateNormal];
    
    
    // 设置当前item不可用状态
    NSMutableDictionary *disableAttr = [NSMutableDictionary dictionary];
    disableAttr[NSForegroundColorAttributeName] = [UIColor grayColor];
    disableAttr[NSFontAttributeName] = [UIFont systemFontOfSize:14];
    [btnItem setTitleTextAttributes:disableAttr forState:UIControlStateDisabled];
    
}

 

最终效果:

新浪微博客户端(4)-设置导航栏主题

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108839.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月21日 下午7:00
下一篇 2022年2月21日 下午7:00


相关推荐

  • Java之多线程断点下载的实现

    Java之多线程断点下载的实现

    2022年2月1日
    44
  • 中标麒麟V6系统安装达梦数据库V7

    中标麒麟V6系统安装达梦数据库V7中标麒麟 V6 系统安装达梦数据库 V71 规划用户 组 安装目录 root localhost groupadddins root localhost useradd gdinstalldmd root localhost passwddmdba root localhost mkdir dm72 修改目录权限 root local

    2026年3月26日
    2
  • 深度学习基础之代价函数

    深度学习基础之代价函数在机器学习和深度学习中,代价函数非常重要。所以十分有必要弄个清楚代价函数相关的概念和性质。本文介绍了什么是代价函数,然后列举了常用的三种代价函数,并对其中的二次代价函数和交叉熵代价函数进行了比较。

    2022年6月9日
    33
  • DeepSeek+蝉镜发表数字人教程

    DeepSeek+蝉镜发表数字人教程

    2026年3月12日
    2
  • Java Stream流(详解)

    Java Stream流(详解)一 Stream 流引入 Lambda 表达式 基于 Lambda 所带来的函数式编程 又引入了一个全新的 Stream 概念 用于解决集合类库既有的鼻端 Lambda 表达式详解在上篇博客内容 现有一个需求 将 list 集合中姓张的元素过滤到一个新的集合中然后将过滤出来的姓张的元素中 再过滤出来长度为 3 的元素 存储到一个新的集合中 1 用常规方法解决需求

    2026年3月18日
    2
  • 【堆栈溢出】堆栈溢出

    【堆栈溢出】堆栈溢出编辑中 nbsp 一 理论 nbsp 1 栈区 stack nbsp 由编译器自动分配释放 nbsp 存放函数的参数值 局部变量的值等 其操作方式类似于数据结构中的栈 2 堆区 heap nbsp nbsp 一般由程序员分配释放 nbsp 若程序员不释放 程序结束时可能由 OS 回收 nbsp 注意它与数据结构中的堆是两回事 分配方式倒是类似于链表 main cpp nbsp int nbsp a nbsp nbsp 0 nbsp 全局初始化区 nbsp cha

    2026年3月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号