2009-01-31 55 views
2

我有一個自定義NSControl,作爲一種二維滑塊,您可以拖動視圖周圍的句柄。我添加了一些特定於類的方法,並且我只覆蓋了鼠標操作和drawRect。我的問題是,我如何才能實現目標行動?我怎樣才能讓它表現得像一個滑塊並不斷髮送動作消息給綁定目標?到目前爲止,我可以通過界面生成器進行連接,但不會發送任何操作。我已經閱讀了許多關於sendActionOn:和sendAction:to的方法,但我不知道如何使用它們。如果有人會解釋它,我相信我會得到它。自定義NSControl目標/動作howto!

回答

-2

-sendActionOn:只有在你是NSControl的子類並實現一個單元格時纔是相關的,你不是。

-mouseDragged:(或其他方法從-mouseDragged:調用來更改滑塊位置),您應該只需撥打[[self target] performSelector:[self action]]

+12

這是錯誤的,原因有兩個。首先它會忽略響應者鏈,其次它不會將發送者作爲參數傳遞。正確的做法是將[NSApp sendAction:[self action]:[self target] from:self]` – Sven 2010-10-12 07:23:09