1

我是刚开始使用 iPhone 和 Obj-C 一个月的新手。

我有两个按钮,它们都调用相同的功能如下

[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];

在函数 showQstn 中,我想知道点击了哪个按钮。任何的想法?也欢迎其他想法。

TIA

4

2 回答 2

3

假设showQstn:声明为

-(void) showQstn:(id)sender;

参数sender是事件的触发对象。

tag编辑:您还可以使用属性区分按钮。每个视图都有一个唯一tag标识符(可以通过编程方式或通过 Interface Builder 设置)。

编辑: UIButton没有title属性,因此您收到错误消息。它有一个titleForState:. 因此,您应该将代码更改为以下内容:

NSString *title = [sender titleForState:UIControlStateNormal];
if ([title isEqualToString:@"PLAY!"]) {
  name.text = title;
}
于 2009-07-09T13:28:30.193 回答
0

您将单击按钮作为 IBAction 方法 showQstn: 的参数。您可以考虑在按钮上设置标签,然后使用 [sender tag] 来识别是哪一个触发了 IBAction 方法。

于 2009-07-09T13:22:00.527 回答