如何在UITableViewController的导航栏中设置editButtonItem的颜色?

问题描述:

我有一个UITableViewController,我在导航栏中添加一个“editButtonItem”:如何在UITableViewController的导航栏中设置editButtonItem的颜色?

self.navigationItem.leftBarButtonItem = self.editButtonItem; 

没有魔法在这里,但我尝试定义这个按钮的颜色(背景和前景/文本颜色)。

我在苹果论坛的某个地方看到,如果我将导航栏更改为相同的颜色,那么该按钮会改变颜色,尽管事实上我还没有得到这个工作(测试)我不想触摸导航本身,只是按钮。

由于这个按钮已经预定义,我不知道如何处理这个。我需要用我自己的定义覆盖按钮或可我只是简单地套用新样式(如果是的话怎么样?)

THX

+0

'editButtonItem'是一个UIBarButtonItem吗?如果是这样,它是用'initWithBarButtonSystemItem:'还是'initWithTitle:'方法初始化的? – Endemic 2010-05-23 15:26:01

+0

其实editButtonItem是来自UIViewController的预定义的UIBarButtonItem。 – eemceebee 2010-05-23 19:51:01

如果一切都失败了,您可以调整栏在你childViewController

的viewDidLoad中
[self.navigationController.navigationBar setTintColor:[UIColor colorWithHue:50 saturation:50 brightness:.2 alpha:.5]]; 

我能找到做一个的UIBarButtonItem用不同颜色的唯一方法是使用自定义视图和initWithCustomView:方法。预定义的按钮以及使用initWithTitle:target:action:创建的按钮无法更改背景颜色。

看一看这太问题:UIBarButtonItem with color?

这些链接也可能帮助:
http://www.iphonedevsdk.com/...
http://www.insanelymac.com/...