禁用栏按钮文字颜色变为白色?

时间:2013-03-19 06:16:45

标签: iphone navigationbar rightbarbuttonitem navigationitem

下面是我导航栏的图片,现在禁用右侧栏按钮。但当我禁用它时,它的文字变为白色。我不想要白色。任何解决方案。

启用“编辑”按钮时的第一张图像。 其他禁用“编辑”按钮时。 在这种情况下,我们可以禁用按钮而不更改其文本颜色。非常感谢提前

这是用于自定义栏按钮

 [[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:253.0/255.0 green:220.0/255.0 blue:135.0/255.0 alpha:1.0]];


[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor blackColor], UITextAttributeTextColor,
  [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0], UITextAttributeTextShadowColor,
  [UIFont fontWithName:@"MyriadPro-Cond_0" size:16.0], UITextAttributeFont, nil]
                                            forState:UIControlStateNormal];

这是用于按钮

 UIBarButtonItem *rightBarBtnEdit=[[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(methodEdit:)];
[rightBarBtnEdit setTag:701];
[self.navigationItem setRightBarButtonItem:rightBarBtnEdit];

这是禁用

    self.navigationItem.rightBarButtonItem.enabled = NO;

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

对于您要自定义的每个州,应多次调用

setTitleTextAttributes:forState:。对于UIControlStateNormal,当您调用一次时,对于其他状态,值将是默认值。

使用UIControlStateDisabled调用它,使用您需要的任何属性。