私は iPhone と Obj-C を使い始めて 1 か月の初心者です。
2 つのボタンがあり、どちらも次のように同じ関数を呼び出します。
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
関数 showQstn 内で、どのボタンがタップされたかを知りたい。何か案が?別案も大歓迎です。
ティア
私は iPhone と Obj-C を使い始めて 1 か月の初心者です。
2 つのボタンがあり、どちらも次のように同じ関数を呼び出します。
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
関数 showQstn 内で、どのボタンがタップされたかを知りたい。何か案が?別案も大歓迎です。
ティア
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メソッドをトリガーしたボタンを特定することを検討してください。