Iphone 以编程方式修改UIToolBar项
我已经使用Interface Builder创建了一个工具栏。我在工具栏中有许多按钮,它们连接到各种Iphone 以编程方式修改UIToolBar项,iphone,objective-c,xcode,interface-builder,uitoolbar,Iphone,Objective C,Xcode,Interface Builder,Uitoolbar,我已经使用Interface Builder创建了一个工具栏。我在工具栏中有许多按钮,它们连接到各种iAction方法。我想做的是,当选择一个项目时,通过改变它的色调,在视觉上使另一个项目变灰 我如何获得对巴布顿教派的引用?我看不出我在哪里可以给每个标签一个唯一的名称,以便我可以具体地引用它 更新 我为工具栏创建了一个IBOutlet,现在我可以访问它了。不幸的是,当我试图设置tintColor时,它崩溃了。这是我的密码: UIBarButtonItem *penButton = [_toolB
iAction
方法。我想做的是,当选择一个项目时,通过改变它的色调,在视觉上使另一个项目变灰
我如何获得对巴布顿教派的引用?我看不出我在哪里可以给每个标签一个唯一的名称,以便我可以具体地引用它
更新
我为工具栏创建了一个IBOutlet
,现在我可以访问它了。不幸的是,当我试图设置tintColor
时,它崩溃了。这是我的密码:
UIBarButtonItem *penButton = [_toolBar.items objectAtIndex:3];
UIBarButtonItem *crossButton = [_toolBar.items objectAtIndex:4];
penButton.tintColor = [UIColor darkGrayColor];
crossButton.tintColor = [UIColor whiteColor];
引发的错误为:
由于未捕获异常而终止应用程序
“NSInvalidArgumentException”,原因:“-[UIBARBUTTONIM
setTintColor::无法识别的选择器已发送到实例0x631df50'
试试这个:
NSArray *items = [myUIToolbar items];
for (UIBarButtonItem *barButton in items) {
//do something with button
}
我如何给它命名为myUIToolbar?我在interface builder中找不到该选项!在IB中,将工具栏中的新引用插座添加到.h文件中,并根据您的需要命名它。在编写之前,您已经了解了这一点,但是,当我尝试更改色调时,它会崩溃-我将更新我的问题,请将崩溃日志添加到您的问题中。您的代码适合我。将其分为几个部分:首先将UIBarButtomItem设置为局部变量,然后更改色调颜色。您测试的是哪个iOS版本?您确定要在运行5.0或更高版本的设备或模拟器上进行测试吗?如果您在低于5.0的设备上运行此代码,它将因此错误而崩溃。实际上不是。尽管在构建配置中将目标设置为5,但模拟器设置为4.3。有趣的是,当我现在运行我的项目时,我的主listview中没有显示任何内容(尽管列表显示),因此我无法实际测试这是否修复了它!NJones-回答这个问题,这样我就可以接受了Hanks,但实际上是tomasz的回答回答了你关于如何获取工具栏项引用的问题。我之所以这么做,是因为UIBarButtonItems确实能够识别iOS 5中的选择器setTintColor,所以逻辑上的结论是您没有在iOS 5中运行。