如果要在项目中统一主题 即 按钮不可点击时 自定义颜色 一般为灰色
//
// HWNavigationController.m
// 微博2期
//
// Created by apple on 14-10-7.
// Copyright (c) 2014年 heima. All rights reserved.
//
#import "HWNavigationController.h"
@interface HWNavigationController ()
@end
@implementation HWNavigationController
+ (void)initialize
{
// 设置整个项目所有item的主题样式
UIBarButtonItem *item = [UIBarButtonItem appearance];
// 设置普通状态
// key:NS****AttributeName
NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];
textAttrs[NSForegroundColorAttributeName] = [UIColor orangeColor];
textAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:13];
[item setTitleTextAttributes:textAttrs forState:UIControlStateNormal];
// 设置不可用状态
NSMutableDictionary *disableTextAttrs = [NSMutableDictionary dictionary];
disableTextAttrs[NSForegroundColorAttributeName] = [UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:0.7];
// 每一个像素都有自己的颜色,每一种颜色都可以由RGB3色组成
// 12bit颜色: #f00 #0f0 #00f #ff0
// 24bit颜色: #ff0000 #ffff00 #000000 #ffffff
// #ff ff ff
// R:255
// G:255
// B:255
// RGBA
// 32bit颜色: #556677
// #ff00ff
disableTextAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:13];
[item setTitleTextAttributes:disableTextAttrs forState:UIControlStateDisabled];
}
在按钮所在的控制器中 试图即将显示时要调用的方法(viewWillAppear)中 对这个 按钮的状态进行设置 如果在 视图加载后 会执行viewDidLoad 方法,调用
效果不太好