2012-02-18 7 views
1

多くのイベントのアクションメソッドにUITextFieldを接続しました。特定のイベントの内容を確認できるようにするには、sender:event:メソッドの型を使用しました。しかし、私は今、方法を引き起こした実際の出来事がどのようになったのかを判断する方法を失っています。秘密は何ですか?IBActionメソッドからイベントを取得する方法

答えて

0

"イベント"はあなたのアクションメソッドに渡されたものですが、あなたの本当の質問はUIControlEventsのどれがアクションを引き起こしたかということです。 UIEventUIControlEventsは関係ありません。ターゲット/アクションパターンはUIEventです。異なるUIControlEventsを異なる方法で処理したい場合は、異なるアクションを実装する必要があります。

ターゲット/アクションのメカニズムはUIResponderに由来することを覚えておいてください。 UIControlEventsUIControlに関連しています。

+0

ありがとうございましたRobと@schは、すべてがクリアです(今すぐ)! – nigelhs

+0

実際には、私の ' - (IBAction)callback:(id)sender'メソッドの中からUIEvent(他の目的のために)を探していました。それはゲットですか? – Olie

+0

メソッドの名前を ' - (IBAction)action:(id)sender forEvent:(UIEvent *)event'に変更する必要があります。その後、イベントはあなたに渡されます。 docsについては '[UIApplication sendAction:to:from:forEvent]'を参照してください。 –

関連する問題