インターフェース ビルダーからドラッグして IBAction をボタンに追加する方法は知っていますが、時間を節約し、何度も何度も切り替えるのを避けるために、プログラムでアクションを追加したいと考えています。解決策はおそらく非常に単純ですが、検索しても答えが見つからないようです。ありがとうございました!
202562 次
10 に答える
227
これを試して:
スイフト4
myButton.addTarget(self,
action: #selector(myAction),
for: .touchUpInside)
Objective-C
[myButton addTarget:self
action:@selector(myAction)
forControlEvents:UIControlEventTouchUpInside];
Apple のドキュメントに豊富な情報源があります。UIButton のドキュメントを見ると、 UIButton がUIControlの子孫であり、ターゲットを追加するメソッドを実装していることがわかります。
--
myAction
in の
後にコロンを追加するかどうかに注意する必要があります。action:@selector(myAction)
ここに参照があります。
于 2011-04-30T17:26:51.927 に答える
14
CGRect buttonFrame = CGRectMake( 10, 80, 100, 30 );
UIButton *button = [[UIButton alloc] initWithFrame: buttonFrame];
[button setTitle: @"My Button" forState: UIControlStateNormal];
[button addTarget:self action:@selector(btnSelected:) forControlEvents:UIControlEventTouchUpInside];
[button setTitleColor: [UIColor redColor] forState: UIControlStateNormal];
[view addSubview:button];
于 2012-02-11T05:59:56.300 に答える
6
スイフト3の場合
最初にボタン アクションの関数を作成し、次に関数をボタン ターゲットに追加します。
func buttonAction(sender: UIButton!) {
print("Button tapped")
}
button.addTarget(self, action: #selector(buttonAction),for: .touchUpInside)
于 2016-12-24T16:13:17.000 に答える
2
UIButton
から継承しUIControl
ます。これには、アクションを追加/削除するためのすべてのメソッドがあります: UIControl Class Reference。– sendAction:to:forEvent:
およびをカバーするセクション「アクション メッセージの準備と送信」を参照してください– addTarget:action:forControlEvents:
。
于 2011-04-30T17:27:04.403 に答える
1
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(aMethod1:)
forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];
于 2014-04-16T09:07:54.457 に答える