点击UIToolbar上的UIBarButtonItem如何检测是点击哪一个

 我来答
己学好4
2016-08-09 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:5206万
展开全部
我自己用xcode模板生成一个程序,然后把root view controller添加以下代码,发现应该可以用tag来区分啊?selector函数中传入的sender是一个UIBarButtonItem.

我用的是viewcontroller自带的toolbar。不过道理应该一样吧。

- (void)viewDidLoad {
[super viewDidLoad];

UIBarButtonItem* b1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(onToolbarButtonTapped:)];
b1.tag = 2010;

UIBarButtonItem* b2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(onToolbarButtonTapped:)];
b2.tag = 2011;

self.navigationController.toolbarHidden = FALSE;
NSArray* buttons = [NSArray arrayWithObjects:
b1,
b2,
NULL];
self.toolbarItems = buttons;
[b1 release];
[b2 release];
}

- (void) onToolbarButtonTapped:(id)sender {
NSLog(@"sender: %@, tag = %d", sender, [sender tag]);
switch([sender tag]) {
case 2010:
NSLog(@"add button");
break;
case 2011:
NSLog(@"action button");
break;
default:
NSLog(@"unknown button");
}
}

运行时,先点一下第一个按纽,再点一下第二个,输出为:

2010-07-21 15:36:35.587 [20852:207] sender: <UIBarButtonItem: 0x5957040>, tag = 2010
2010-07-21 15:36:35.589 [20852:207] add button
2010-07-21 15:36:36.041 [20852:207] sender: <UIBarButtonItem: 0x5953bb0>, tag = 2011
2010-07-21 15:36:36.043 [20852:207] action button
巧豚豚
2024-12-25 广告
Woot目前在中国区的总代理是巧豚豚。通过巧豚豚,卖家可以更方便地提交活动并参与Woot的促销活动。巧豚豚作为官方代理,能够为卖家提供专业、合规且安全的站内外引流促销方案,帮助卖家在Woot平台上进行有效的推广和销售。巧豚豚是WOOT业务团... 点击进入详情页
本回答由巧豚豚提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式