zoukankan      html  css  js  c++  java
  • UI基础

    如果导航控制器的BarButtonItem属性是一致的,可以重写initialize方法用来设置主题

    //再ViewDidload执行前只执行一次
    +(void)initialize
    {
        //创建的UIBarButtonItem的属性会从这里获取
        UIBarButtonItem *appearance = [UIBarButtonItem appearance];
        //普通情况下
        NSMutableDictionary *nor = [NSMutableDictionary dictionary];
        nor[NSForegroundColorAttributeName] = [UIColor orangeColor];
        nor[NSFontAttributeName] = [UIFont systemFontOfSize:15];
        [appearance setTitleTextAttributes:nor forState:UIControlStateNormal];
        //高亮情况下
        NSMutableDictionary *high = [NSMutableDictionary dictionaryWithDictionary:nor];
        high[NSForegroundColorAttributeName] = [UIColor greenColor];
        [appearance setTitleTextAttributes:high forState:UIControlStateHighlighted];
        //不可以点击情况下
        NSMutableDictionary *disable = [NSMutableDictionary dictionaryWithDictionary:nor];
        disable[NSForegroundColorAttributeName] = [UIColor grayColor];
        [appearance setTitleTextAttributes:disable forState:UIControlStateDisabled];
        /**设置背景**/
        // 技巧: 为了让某个按钮的背景消失, 可以设置一张完全透明的背景图片
    //    [appearance setBackgroundImage:[UIImage imageNamed:@"navigationbar_button_background"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    }
    

    也可以一次性设置leftBarButtonItem和rightBarButtonItem

    重写

    - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;

    -(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
    {
        /*这里传进来的是navController,
         self.viewControllers.count代表nav栈里控制器的数量,如果大于0,那就不是栈低控制器
         也就不是最开始看到的四个
         */
        if(self.viewControllers.count > 0 ){
            viewController.hidesBottomBarWhenPushed = YES;
            viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem initWithImage:@"navigationbar_back" HighImage:@"navigationbar_back_highlighted" action:@selector(back) target:self];
            viewController.navigationItem.rightBarButtonItem = [UIBarButtonItem initWithImage:@"navigationbar_more" HighImage:@"navigationbar_more_highlighted" action:@selector(more) target:self];
        }
        [super pushViewController:viewController animated:YES];
    }
    

      

  • 相关阅读:
    石油采集
    石油采集
    Redis 笔记与总结7 PHP + Redis 信息管理系统(用户信息的增删改查)
    数据分析电子商务B2C全流程_数据分析师
    数据分析电子商务B2C全流程_数据分析师
    数据挖掘中分类算法小结_数据分析师
    大数据分析或提升企业税务职能价值
    大数据可视化必须避免的三种常见错误
    大数据可视化必须避免的三种常见错误
    数据分析帮你预知商机
  • 原文地址:https://www.cnblogs.com/xj76149095/p/5350508.html
Copyright © 2011-2022 走看看