Обязательное объявление метода NSSlider (sliderDidMove) не найдено в документации разработчика Apple - PullRequest
1 голос
/ 19 февраля 2012

Работа над учебником с NSSlider.

Что я хочу: перемещение ползунка покажет значение ползунка в NSTextField.

В учебнике объясняется, что следующий метод покажет значение ползунка в текстовом поле:

- (IBAction)sliderDidMove:(id)sender {
    NSSlider *slider = sender;
    double value = [slider doubleValue];
    [sliderValueLabel setDoubleValue:value];    
}

Метод не работает, поэтому я попытался найти объявление метода на веб-сайте разработчика Apple. но не смог найти его. Насколько я понимаю, это метод: sliderDidMove метод класса из класса NSSlider, так почему я не могу найти какую-либо документацию?

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

При изменении значения ползунка он отправляет -[NSControl action] на -[NSControl target].Поэтому в Интерфейсном Разработчике вам нужно перетащить Ctrl-слайдер с ползунка на объект, который имеет sliderDidMove: (который, вероятно, будет либо делегатом приложения, либо владельцем файла).Имя выбирается автором урока, оно может быть любым другим.

Кроме того, вы можете настроить его программно:

[slider setTarget:self]; // assume the handler is [self sliderDidMove:]
[slider setAction:@selector(sliderDidMove:)];

Обратите внимание, что эту конкретную задачу лучше решить с помощью привязок: связать значение и ползунка, и метки со свойством double какого-либо объекта, и Какао сохранит их синхронизацию.

0 голосов
/ 03 апреля 2017

В Swift ...

 // Somewhere maybe in viewDidLoad ...
        slider.target = self
        slider.action = #selector(sliderDidMove)



// Later on..

func sliderDidMove(){
    print("The slider moved!")
}
...