2016-12-21 11 views
1

UIButtonのサブクラスがあります。ボタン自体を使用してボタンのターゲットを追加することは可能ですか?これにUIButton addTarget:action:forControlEvents:自分自身をターゲットとして使用していませんか?

:例

+0

yaはただ一つのことは、[YOURBUTTON addTarget:自己アクション:@selector(METHODNAME:イベント:) forControlEvents:UIControlEventTouchDown]だと思う変更します。 –

+0

ボタンのスーパービューではなく、クラスボタンのターゲットインナーを追加します。スーパービューにボタンのターゲットを追加します(あなたの言ったように)、うまくいきました。 – John

+0

addTargetはいつ呼びますか? initで? – Joshua

答えて

0

そのあなたがターゲットとして自己を追加するbcoz動作していません。 ViewControllerを、ボタンが追加されたターゲットとして追加する必要があります。

[self addTarget:viewController action:@selector(onClick:forEvent:) forControlEvents:UIControlEventTouchUpInside]; 
+0

Thxは助けを借りていますが、なぜ自己を使用しないのですか? – John

+0

ボタン自体をターゲットとして追加することはできません。常にスーパービューがボタンがアクションを実行するターゲットになる必要があります。 –

+0

あなたの答えと私のテスト結果は同じですが、その理由はわかりませんが、確かに自己を使うことはできません。 uiviewまたはそのサブクラス、および関連する参照がある場合は、uiviewもボタンのスーパービューでなければなりません。情報がさらに感謝しています! – John

0

についてはい、単純にこれを変更

[MyButton addTarget:self action:@selector(onClick:forEvent:) forControlEvents:UIControlEventTouchUpInside]; 
+0

Thx、私はどこに問題があるのか​​分かっていましたが、あなたの答えは私の予想される答えではありませんでした。なぜ[自己addTarget:自己アクション:......違法ですか? – John

関連する問題