我想知道刚被点击的按钮的名称。到目前为止我有这个代码:
- (IBAction)buttonClick:(id)sender{
NSLog(@"%@",sender);
}
然而,这只会带来很多行话。有没有办法返回刚被点击的按钮的名称?
答案 0 :(得分:1)
您可以使用the Objective-C runtime functions,但这可能很难。
我建议的是为每个按钮设置tag
属性,并创建一个包含每个按钮名称的数组,如下所示:
button1.tag = 0;
button2.tag = 1;
NSArray *buttonNames = [NSArray arrayWithObjects:@"button1", @"button2", nil];
在你的方法中:
- (IBAction)buttonTap:(id)sender { // one cannot *click* on an iOS device
NSLog(@"%@", [buttonNames objectAtIndex:[(UIButton *)sender tag]);
}
答案 1 :(得分:1)
如果你想知道这个名字只是为了让你知道点击了什么按钮,我认为你不能得到iVar的名字,但还有其他方法可以做到这一点:
您可以获得按钮的标题:
NSString *btnTitle = [sender currentTitle];
或者 - 您可以在Interface Builder视图中为按钮设置标记
NSInteger btnTag = [sender tag];
答案 2 :(得分:0)
尝试
NSLog(@"%@",[sender title]);