我是刚开始使用 iPhone 和 Obj-C 一个月的新手。
我有两个按钮,它们都调用相同的功能如下
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
在函数 showQstn 中,我想知道点击了哪个按钮。任何的想法?也欢迎其他想法。
TIA
我是刚开始使用 iPhone 和 Obj-C 一个月的新手。
我有两个按钮,它们都调用相同的功能如下
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
在函数 showQstn 中,我想知道点击了哪个按钮。任何的想法?也欢迎其他想法。
TIA
假设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;
}
您将单击按钮作为 IBAction 方法 showQstn: 的参数。您可以考虑在按钮上设置标签,然后使用 [sender tag] 来识别是哪一个触发了 IBAction 方法。