2012-03-16 2 views
3

슬라이더가 있습니다. 이 값의 최소값은 0 초이고 최대 값은 3 분 (또는 180 초)입니다. 슬라이더 값을 10 초씩 증가시키고 싶습니다. 이것을 어떻게 얻을 수 있습니까? 도와주세요.슬라이더 값을 10만큼 증가시킵니다.

답변

6

보기 컨트롤러 등에게의 방법에

가 훅 ... 슬라이더가/아래 10 단계까지 증가 할 가정 슬라이더의 값은 IB에 이벤트를 변경 (또는 코드 UIControlEventValueChanged) 같이

- (IBAction)sliderValueChanged:(id)sender { 
    int value = (int)[self.slider value]; 
    int stepSize = 10; 
    value = (value - value % stepSize); 
    // Set the new value. 
    self.sliderValue = value; 
} 

self.sliderValue 별도의 정수 값을 추적하기위한 속성 (보다는 슬라이더의 기본 값을 일으키는 문제 UI 변경)

+0

'int stepSize = 10.0f;'는 무의미합니다. ,'int stepSize = 10;'으로 충분하다. – dreamlax

+0

잘 발견 된 선생님 :) –

+0

또한 테스트 할 수 없지만'self.sliderValue = value;'sliderValueChanged :'를 트리거할까요? 그렇다면 스택 오버플로가 발생합니다. – dreamlax

1
[mySlider setValue:([mySlider value]+10) animated:YES]; 

슬라이더에 새 값을 적용하지 않으려면 "애니메이션"을 "아니요"로 변경하십시오.

0

요하는 경우가있다 슬라이더가 0에서 18까지 증가하도록하고, 값을 사용하거나 표시 할 때마다 10을 곱합니다.

관련 문제