无法在禁用状态下更改UIBarButtonItem颜色属性

时间:2015-06-14 19:26:05

标签: iphone ios8

我创建了一个带有三个小节按钮项的UIToolBar。使用默认字体和字体大小时,一切正常。但是,字体有点太大,我想调整它的大小。我使用以下代码在正常状态下成功自定义字体大小和颜色,但是当禁用按钮#1时,启用和禁用状态的文本颜色都保持黑色 - 即它不会将颜色更改为灰色

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/$injector/modulerr?p0=achieverpayroll&p1…A%2F%2Flocalhost%3A8080%2Fachieverpayroll%2Fjs%2Fangular.min.js%3A17%3A381)

我很欣赏一些关于上述代码出错的反馈。

1 个答案:

答案 0 :(得分:-1)

为barButtonItem创建一个插座;假设它是myBarButton。最初从故事板中禁用它。然后在ViewDidLoad()

中调用它
if (myBarButton.enabled == 'NO') {
     NSDictionary *dis = @{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:12.0], NSForegroundColorAttributeName:
                                [UIColor grayColor]}; 
     [[UIBarButtonItem appearance] setTitleTextAttributes:ena forState:UIControlStateNormal];
}

然后在必要时做一些工作后启用myBarButton,然后运行下面的代码

 NSDictionary *dis = @{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:12.0], NSForegroundColorAttributeName:
                            [UIColor blackColor]}; 
 [[UIBarButtonItem appearance] setTitleTextAttributes:ena forState:UIControlStateNormal];

实际上,UIControlStateDisabled无法正常工作。