zoukankan      html  css  js  c++  java
  • IOS开发中设置导航栏主题

    /**
     *  系统在第一次使用这个类的时候调用(1个类只会调用一次)
     */
    + (void)initialize
    {
        // 设置导航栏主题
        UINavigationBar *navBar = [UINavigationBar appearance];
        // 设置背景图片
        NSString *bgName = nil;
        if (iOS7) { // 至少是iOS 7.0
            bgName = @"NavBar64";
        } else { // 非iOS7
            bgName = @"NavBar";
        }
        [navBar setBackgroundImage:[UIImage imageNamed:bgName] forBarMetrics:UIBarMetricsDefault];
        
        // 设置标题文字颜色
        NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
        attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];
        attrs[NSFontAttributeName] = [UIFont systemFontOfSize:16];
        [navBar setTitleTextAttributes:attrs];
        
        //设置BarButtonItem的主题
        UIBarButtonItem *item=[UIBarButtonItem appearance];
        //设置文字颜色
        NSMutableDictionary *itemAttrs=[NSMutableDictionary dictionary];
        itemAttrs[NSFontAttributeName]=[UIFont systemFontOfSize:14];
        itemAttrs[NSForegroundColorAttributeName]=[UIColor whiteColor];
        [item setTitleTextAttributes:itemAttrs forState:UIControlStateNormal];
        if (!iOS7) {
            //设置按钮背景
            
            [item setBackgroundImage:[UIImage imageNamed:@"NavButton"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
            [item setBackgroundImage:[UIImage imageNamed:@"NavButtonPressed"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
            
            //设置返回按钮的背景
            [item setBackButtonBackgroundImage:[UIImage imageNamed:@"NavButton"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
            [item setBackButtonBackgroundImage:[UIImage imageNamed:@"NavButtonPressed"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
    
        }
        else{
            navBar.tintColor=[UIColor whiteColor];
        }
       }

    IOS开发技术交流QQ群:491355147 欢迎加入一起讨论技术哦 

  • 相关阅读:
    getopt函数
    Pac的OI回忆录
    Python embed包使用
    Git add . Git add * 的区别
    Linux Python升级版本至2.7.5
    Linux6.3升级zlib
    一: Centos 虚拟机安装
    4.4 SpringCloud__服务注册与发现Eureka__自我保护机制
    4.3 SpringCloud__服务注册与发现Eureka__高可用集群配置
    4.2 SpringCloud__服务注册与发现Eureka__搭建注册中心
  • 原文地址:https://www.cnblogs.com/fxiaoquan/p/4570540.html
Copyright © 2011-2022 走看看