2012-02-15 3 views
1

위로 이동하거나 아래로 이동할 때 다른 메서드를 호출해야하는 NSSlider를 프로젝트에 배치하려고합니다. 따라서 위로 움직이면 AppleScript이고, 다른 방향으로 움직이면 반대 인 AppleScript입니다. IF 루프 또는 다른 것을 사용하여이 작업을 수행 할 수 있습니까? 미리 감사드립니다!Loop for 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