以编程方式修改UIToolBar项

时间:2012-01-08 12:41:22

标签: iphone objective-c xcode interface-builder uitoolbar

我使用Interface Builder创建了一个工具栏。我在工具栏中有许多按钮,它们连接到各种IBAction方法。我想要做的是,当选择一个项目时,通过改变它的色调在视觉上灰显另一个项目。

如何获得对BarButtonItem的引用?我无法在哪里看到每个标签都有一个独特的名称,以便我可以专门引用它。

更新

我为工具栏创建了一个IBOutlet,所以我现在可以访问它了。不幸的是,当我尝试设置tintColor它崩溃了。这是我的代码:

UIBarButtonItem *penButton = [_toolBar.items objectAtIndex:3];
UIBarButtonItem *crossButton = [_toolBar.items objectAtIndex:4];

penButton.tintColor = [UIColor darkGrayColor];
crossButton.tintColor = [UIColor whiteColor];

抛出的错误:

  

由于未捕获的异常而终止应用   ' NSInvalidArgumentException',原因:' - [UIBarButtonItem   setTintColor:]:无法识别的选择器发送到实例0x631df50'

1 个答案:

答案 0 :(得分:6)

试试这个:

NSArray *items = [myUIToolbar items];
for (UIBarButtonItem *barButton in items) {
   //do something with button
}