0

使用普通按钮,您可以做到

btn.selected = !btn.selected。

我将如何使用 UIBarButton 将其拉出?

4

4 回答 4

2

您可以在 UIBarItem 中使用自定义按钮,只需使用您的按钮即可。

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:self.yourButton]

[self.navigationItem setRightBarButtonItem:barButton];

然后:

   self.yourButton.select = !self.yourButton.select;
于 2013-03-19T09:10:08.637 回答
2

您可以使用自定义视图创建 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];
}
于 2013-03-19T09:14:05.430 回答
1

想法 1. 如果您在 IB 中创建界面,请尝试将标准 UIButton 对象拖到 UIToolbar 中。这应该将 UIButton 封装在 UIBarButton 中。将 UIBarButton 对象设置为普通的。像往常一样为一切创建出口。然后,您可以使用标准按钮以及工具栏中的所有可爱的标准内容,例如选定状态。

想法 2。我几乎放弃了使用工具栏,因为您发现控件不灵活。现在我只是用 UIViews 替换 UIToolbar 的实例,如果代码需要管理旋转、调整大小等,我会做少量的工作......我发现它更灵活,让我更轻松地包含其他控件。

于 2013-03-19T09:08:01.723 回答
1

不可能立即通过 UIBarButtonItem 获得选定的属性。但是您可以通过放置 UIButton 并像 UIBarbutton 一样对其进行自定义来实现这一点。此链接对您将更有用...如何以编程方式获取 UIBarButtonItems 的状态?

于 2013-03-19T09:14:12.903 回答