我有一个UItableView,底部有一个工具栏。工具栏上有两个按钮,分别是“水果”,“蔬菜”。单击它们将仅显示相应的类别。
我设法让显示功能正常工作,但我不知道在选择时如何在selectedState中设置按钮。
我创建了如下所示的工具栏
UIBarButtonItem *fruits = [[UIBarButtonItem alloc] initWithTitle:@"Fruits" style:UIBarButtonItemStyleBordered target:self action:@selector(fruitsClicked:)];
UIBarButtonItem *vegetables = [[UIBarButtonItem alloc] initWithTitle:@"Vegetables" style:UIBarButtonItemStyleBordered target:self action:@selector(vegetablesClicked:)];
NSArray *items = [NSArray arrayWithObjects: fruits,vegetables,nil];
[fruits release];
[vegetables release];
[self setToolBarItems:items];
和选择器如
-(void)fruitsClicked:(id)sender{
//code here
}
由于我之前发布了按钮,我无法设置
fruits.enabled=NO;
我们将不胜感激。
答案 0 :(得分:2)
我认为添加单独的按钮不是一个好的设计和策略,你应该使用UISegmentad控件,它是你想要的组件设计:从X中选择一个段。
您可以像这样使用它(例如选择第一项):
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:array];
[segment setSelectedSegmentIndex:0];
获取所选项目:
segment.selectedSegmentIndex
答案 1 :(得分:0)
传递给fruitClicked处理程序的sender参数将是指向UIBarButtonItem的指针。你可以像这样投射:
[((UIBarButtonItem*)sender) setEnabled:NO];
然而,一旦按钮被禁用,它就不再接受点击(即你不能再次点击它来重新启用它)。我会为按钮使用customView并自己实现启用/禁用外观。
答案 2 :(得分:-1)
我对UIToolBars没有任何经验,但从我看到的,选择器获取发件人的ID,对吧?您可以使用它来访问单击的按钮,然后将其设置为选中状态。