我正在尝试设置所有UIBarButtonItem的标题颜色
当我使用:
 [[UIBarButtonItem appearance] setTitleColor:normalTitleColor forState:UIControlStateNormal];我得到了:
-[_UIBarItemAppearance setTitleColor:forState:]: unrecognized selector sent to instance 0xd695e30我对背景图像没有任何问题,但是标题颜色不是很好。
发布于 2012-01-24 10:17:34
这是因为它不存在于类UIBarButtonItem或它的super class中
您可以使用在UIBarItem中定义的方法
 setTitleTextAttributes:forState:  为给定的控件状态设置标题的文本属性。
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state  参数
属性
包含文本属性的键值对的字典。
您可以使用NSString UIKit Additions Reference中列出的键指定字体、文本颜色、文本阴影颜色和文本阴影偏移。
状态
要为标题设置文本属性的控件状态。Availability
在iOS 5.0及更高版本中可用。
另请参阅
– titleTextAttributesForState:  在中声明
UIBarItem.h  发布于 2012-09-15 11:58:26
作为对公认答案的快速补充,并为那些实际希望实现此方法的人节省一些时间,文本颜色的常量为UITextAttributeTextColor。
在允许创建对象文字的最新xcode中,可以轻松地设置按钮的文本外观,如下所示。
[[UIBarButtonItem appearance] setTitleTextAttributes:@{ UITextAttributeTextColor : [UIColor redColor] }];发布于 2013-05-15 20:47:00
您必须使用UILabel的appearanceWhenContainedIn方法,例如,如果您想要自定义UITabBarItem:
[[UILabel appearanceWhenContainedIn:[UITabBar class], nil] setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:12]];https://stackoverflow.com/questions/8981197
复制相似问题