4

我正在尝试在整个项目中以编程方式设置tintColorfor 。UIBarButtonItems我打电话给:

[UIBarButtonItem appearance]

但是,在这里查看 Apple 的文档后:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UIBarButtonItem_Class/Reference/Reference.html

我发现没有这样的属性来设置tintColor. 我能找到的最接近的相关方法是:

setBackgroundImage:forState:barMetrics:
setBackgroundImage:forState:style:barMetrics:

但是,这两种方法都用于设置实际的背景图像。不能简单地设置按钮的tintColorviaUIAppearance吗?

4

2 回答 2

10

也许我没有正确理解这个问题。但是,如果您查看您发布的链接,在任务 -> 自定义外观下,有一个名为 tintColor 的属性。

您只需将该属性设置为所需的颜色

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];

这不适合你吗?

于 2013-02-13T21:53:16.153 回答
4

根据UIAppearance协议,您可以设置tintColor如下:

要自定义包含在容器类实例或层次结构中的实例中的类实例的外观,您可以使用appearanceWhenContainedIn:获取类的外观代理

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
       setTintColor:myNavBarColor];

如果这就是您要找的,这里提到了这一点。

于 2013-02-13T22:47:50.597 回答