3

いくつかの機能を備えたボタンを作成した小さなiPhoneアプリがあります。私の質問は、実際に押さずにこのボタンを呼び出すにはどうすればよいですか?

どんな助けでも大歓迎です!

ありがとう

4

3 に答える 3

4

ボタンが接続されているターゲットをアクティブにしたい場合は、次のコマンドを呼び出すことができます。

[button sendActionsForControlEvents:UIControlEventTouchUpInside];

(TouchUpInsideは、通常はボタンアクションをワイヤリングするイベントです)。このように、他のターゲットがいずれかのボタン(たとえばデバッグ用)に追加または変更された場合、コードを変更する必要はありません。

このメソッドは、UIButtonが継承するUIControlにあります。そのため、一見見落としているかもしれません...

于 2009-08-28T02:42:24.220 に答える
2

ボタンイベントで関数を呼び出します。関数を自分で手動で呼び出すこともできます。

例:

- (void) btnFunction {
  NSLog (@"test");
}

...

UIButton *btn1 = [UIButton buttonWithType:UIButtonRoundedRect];
// other code to set up button goes here
[btn1 addTarget:self action:@selector(btnFunction) forControlEvents:UIControlEventTouchUpInside];

関数を自分で呼び出すこともできます。

[self btnFunction];
于 2009-08-27T16:09:48.237 に答える
1

ボタンに機能を持たせる必要はありません。ターゲットにメッセージを送信するだけです (またはメソッドを呼び出すか、関数を呼び出します...)。

そのメッセージをそのターゲットに自分で自由に送信できます。

例: ボタンのターゲット アウトレットは、コントローラーの IBAction に接続されます。その IBAction は、次の形式のメソッドにすぎません。

- (void) doSomething:(id)sender

独自のコードで次のようにします。

[controller doSomething:self];

ボタンにそれをさせるのとまったく同じです。

于 2009-08-27T16:14:19.287 に答える