2012-02-15 2 views
1

Я устанавливаю NSSlider в свой проект, который должен вызывать разные методы при перемещении вверх или вниз. Поэтому, если он перемещен вверх, он сделает один метод, который является AppleScript, а наоборот, если он перемещен в другом направлении, другой AppleScript. Могу ли я сделать это с помощью петли IF или что-то еще? Заранее спасибо!Loop для NSSlider

ответ

3

Вы должны следить за старым значением ползунка, а затем сравнивать с новым, чтобы увидеть, движется ли он вниз или вверх.

- (IBAction)slide:(id)sender { 
    float newValue = [slider floatValue]; 
    if (newValue < oldValue) { 
     // moved down 
    } else { 
     // moved up 
    } 
    oldValue = newValue; 
} 
+0

Отлично, любая идея, как отслеживать значение на слайдере? – Stevezie

+0

с использованием глобальной переменной ** oldValue **, указанной в коде. Вы инициализируете его с начальным значением ползунка (не показано в коде). И тогда каждый раз, когда изменяется значение ползунка, вы обновляете ** oldValue ** (это то, что я сделал в строке ** oldValue = newValue; ** – sch