1
多くのイベントのアクションメソッドにUITextFieldを接続しました。特定のイベントの内容を確認できるようにするには、sender:event:メソッドの型を使用しました。しかし、私は今、方法を引き起こした実際の出来事がどのようになったのかを判断する方法を失っています。秘密は何ですか?IBActionメソッドからイベントを取得する方法
多くのイベントのアクションメソッドにUITextFieldを接続しました。特定のイベントの内容を確認できるようにするには、sender:event:メソッドの型を使用しました。しかし、私は今、方法を引き起こした実際の出来事がどのようになったのかを判断する方法を失っています。秘密は何ですか?IBActionメソッドからイベントを取得する方法
"イベント"はあなたのアクションメソッドに渡されたものですが、あなたの本当の質問はUIControlEvents
のどれがアクションを引き起こしたかということです。 UIEvent
とUIControlEvents
は関係ありません。ターゲット/アクションパターンはUIEvent
です。異なるUIControlEvents
を異なる方法で処理したい場合は、異なるアクションを実装する必要があります。
ターゲット/アクションのメカニズムはUIResponder
に由来することを覚えておいてください。 UIControlEvents
はUIControl
に関連しています。
ありがとうございましたRobと@schは、すべてがクリアです(今すぐ)! – nigelhs
実際には、私の ' - (IBAction)callback:(id)sender'メソッドの中からUIEvent(他の目的のために)を探していました。それはゲットですか? – Olie
メソッドの名前を ' - (IBAction)action:(id)sender forEvent:(UIEvent *)event'に変更する必要があります。その後、イベントはあなたに渡されます。 docsについては '[UIApplication sendAction:to:from:forEvent]'を参照してください。 –