使用普通按钮,您可以做到
btn.selected = !btn.selected。
我将如何使用 UIBarButton 将其拉出?
使用普通按钮,您可以做到
btn.selected = !btn.selected。
我将如何使用 UIBarButton 将其拉出?
您可以在 UIBarItem 中使用自定义按钮,只需使用您的按钮即可。
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:self.yourButton]
[self.navigationItem setRightBarButtonItem:barButton];
然后:
self.yourButton.select = !self.yourButton.select;
您可以使用自定义视图创建 UIBarButtonItem
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:normalImage forState:UIControlStateNormal];
[button setImage:selectedImage forState:UIControlStateSelected];
[button addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
然后
-(void)btnClick:(id)sender{
UIBarButtonItem *item = (UIBarButtonItem *)sender;
UIButton *button = (UIButton *)item.customView;
[button setIsSelected:YES];
}
想法 1. 如果您在 IB 中创建界面,请尝试将标准 UIButton 对象拖到 UIToolbar 中。这应该将 UIButton 封装在 UIBarButton 中。将 UIBarButton 对象设置为普通的。像往常一样为一切创建出口。然后,您可以使用标准按钮以及工具栏中的所有可爱的标准内容,例如选定状态。
想法 2。我几乎放弃了使用工具栏,因为您发现控件不灵活。现在我只是用 UIViews 替换 UIToolbar 的实例,如果代码需要管理旋转、调整大小等,我会做少量的工作......我发现它更灵活,让我更轻松地包含其他控件。
不可能立即通过 UIBarButtonItem 获得选定的属性。但是您可以通过放置 UIButton 并像 UIBarbutton 一样对其进行自定义来实现这一点。此链接对您将更有用...如何以编程方式获取 UIBarButtonItems 的状态?