1

私は iPhone と Obj-C を使い始めて 1 か月の初心者です。

2 つのボタンがあり、どちらも次のように同じ関数を呼び出します。

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

関数 showQstn 内で、どのボタンがタップされたかを知りたい。何か案が?別案も大歓迎です。

ティア

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 に答える