Я собираюсь реализовать простой аудио фейдер. Я создал подклассы NSSlider и NSSliderCell, чтобы иметь возможность соответствующим образом рисовать графику.
Я хочу, чтобы ползунок переходил в определенную позицию всякий раз, когда дескриптор щелкается с нажатой клавишей Cmd. Это довольно распространено в большинстве аудиоприложений.
Установка значения ползунка работает безупречно, но не вызывает метод действия, чтобы сообщить моей цели, что значение изменилось. Это должно происходить где-то в обработке события mouseDown «супер», вероятно, в NSControl. Это то, что я получил до сих пор:
- (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.
Но я понятия не имею, как будет называться селектор. Мишень наверное супер?
Любая помощь высоко ценится!!
Лучший,
Фло