• 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];
    }
    

      

  • 相关阅读:
    spark学习
    推荐系统-摘录
    matplotlib安装问题解决
    秒杀系统分析
    大数据常用启动命令
    推荐系统简介
    java面试-JVM内存结构
    推荐算法-基于内容的推荐
    推荐算法-基于模型的协同过滤
    监督学习之模型评估与选择
  • 原文地址:https://www.cnblogs.com/xj76149095/p/5350508.html
Copyright © 2020-2023  润新知