我刚刚开始使用iPhone和Obj-C一个月新手了。
我有两个按钮,它们都调用相同的功能如下
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
在函数showQstn中,我想知道点击了什么按钮。任何的想法? 也欢迎替代的想法。
TIA
答案 0 :(得分:3)
假设showQstn:
被声明为
-(void) showQstn:(id)sender;
参数sender
是事件的触发对象。
编辑:您还可以使用tag
property区分按钮。每个视图都有一个唯一的tag
标识符(可以通过编程方式或通过Interface Builder进行设置)。
编辑:
UIButton
没有title
属性,因此您收到错误。它有一个titleForState:
。因此,您应该将代码更改为以下内容:
NSString *title = [sender titleForState:UIControlStateNormal];
if ([title isEqualToString:@"PLAY!"]) {
name.text = title;
}
答案 1 :(得分:0)
您可以将单击的按钮作为IBAction方法showQstn:的参数。您可以考虑在按钮上设置标签,然后使用[sender tag]来识别触发IBAction方法的标签。