我即將實現一個簡單的音頻推子。 我將NSSlider和NSSliderCell分類爲可以相應地繪製圖形。以編程方式更改值時調用NSControl的「valueChanged」
我想要滑塊跳到一個定義的位置,只要按下Cmd鍵點擊該句柄。這在大多數音頻應用程序中很常見。
將值設置爲滑塊的操作完美無瑕,但它不會調用操作方法來通知我的目標值已更改。 這可能發生在NSControl的mouseDown事件處理「super」的某處。這是我走到這一步:
- (void) mouseDown:(NSEvent *)theEvent
{
if (([theEvent modifierFlags] & NSCommandKeyMask) > 0)
[self setFloatValue:100.0f];
else
[super mouseDown:theEvent];
}
我在的NSControl文檔,看起來有前途的發現了一個方法:
-(BOOL)sendAction:(SEL)theAction to:(id)theTarget Parameters :
theAction:調用目標的選擇。如果選擇器爲 NULL,則不發送消息。
theTarget:接收消息的目標對象。如果對象爲 無,則應用程序在響應者鏈中搜索能夠處理該消息的對象 。有關調度 操作的更多信息,請參閱NSActionCell的類描述。
但我沒有線索什麼選擇器會被命名爲。 目標可能會超級?
任何幫助非常感謝!
最佳,
弗洛