我想将颜色更改为红色。
答案 0 :(得分:103)
我找到了一种更简单的方法来改变标题的颜色: iOS7:
UIBarButtonItem *button =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[button setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], NSForegroundColorAttributeName,nil]
forState:UIControlStateNormal];
以及之前的iOS7:
UIBarButtonItem *button =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
[button setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor redColor], UITextAttributeTextColor,nil]
forState:UIControlStateNormal];
答案 1 :(得分:8)
here回答了这个问题。基本上,您必须创建一个UIButton,根据需要进行配置,然后使用UIButton作为自定义视图初始化Bar Button Item。
答案 2 :(得分:8)
有两种方法可以更改显示的文本UIBarButtonITem的颜色。
1)
[barButtonITem setTintColor:[UIColor redColor]];
2)或者你可以使用任何UIColor类方法。这是非常有效的解决方案。对于iOS 7,你可以使用NSForegroundColorAttributeName并且可以使用
barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
答案 3 :(得分:3)
在Guvvy Ava的类似说明中,您可以更改字体大小,如
[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal];
答案 4 :(得分:1)
swift 4.0或更高版本
barButtonITem.tintColor = UIColor.red // for textColor change
如果想要更改字体和文本颜色,请使用以下代码
barButtonITem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor :UIColor.red,NSAttributedStringKey.font:UIFont.init(name:"Avenir", size:15.0)], for: UIControlState.normal)
答案 5 :(得分:0)
如果您正在使用系统导航栏按钮项,则使用
更改按钮色调颜色self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
要更改按钮文字颜色,请使用以下代码。
[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];
添加以下代码行,您想要更改颜色的视图控件