カスタムNSControlターゲット/アクションHOWTO!
質問
私は、ビューの周りのハンドルをドラッグすることができ、二次元スライダの一種として動作するカスタムNSControlを持っています。私はいくつかのクラスの特定のメソッドを追加し、私はオーバーライド唯一のものは、マウス操作とのdrawRectました。私の質問は、どのように私はそれが目的のアクションを実装するのですかか?どのように私はそれが、スライダーのように振る舞うと連続して結合した標的にアクションメッセージを送信することができますか?今のところ私は、インターフェイスビルダーでそれを配線することができますが、何もアクションが送信されません。そしてsendAction::へ:私はsendActionOnのような方法についてはたくさん読んだが、私はそれらを使用する方法を正確に知りません。誰かがそれを説明するだろう場合、私はそれを得るだろうと確信しています。
解決
あなたはNSControlをサブクラス化し、そうでないセルを、実装している場合は、
-sendActionOn:
でのみ関連します。
-mouseDragged:
で(または任意のメソッドスライダ位置を変更する-mouseDragged:
から呼び出される)、あなただけ[[self target] performSelector:[self action]]
を呼び出す必要があります。
所属していません StackOverflow