2013-05-06 4 views
-1

이미 텍스트 레이블의 출력을 제어하는 ​​슬라이더가 있습니다.iOS 스테퍼로 슬라이더 값과 텍스트 레이블 값 제어

-(IBAction)mySlider:(UISlider *)sender 
{ 
    _myTextLabel.text = [NSString stringWithFormat:@"%i", (int) sender.value]; 
} 

그러나 나는 또한 스테퍼 슬라이더의 위치를 ​​체인저 할 수 있어야합니다. 슬라이더가 50으로 설정되어 있고 텍스트 레이블에 50이라고 표시되어있는 경우 스테퍼를 51, 52, 53 등으로 증가 시키길 원합니다.이 작업을 수행하는 코드를 아는 사람이 있습니까? 감사!

+0

무엇이 당신 질문입니까? – rmaddy

+0

이렇게 정확하게 읽는다면 UISlider가 레이블을 업데이트하고 슬라이더를 업데이트하기 위해 스테퍼를 사용하기를 원할 것입니다. – user2277872

+0

네, 그 말이 맞아요, 내 질문에 그 코드가 무엇입니까 ... 기본적으로, 사용자가 특정 번호를 선택하려고하는 경우, 그들은 거친 조정으로 슬라이더를 사용할 수있는 다음 증분을 사용하여 정확한 번호를 얻으십시오 – jake9115

답변

3

UISlider에 대한 참조를 보관해야합니다. valueChanged 이벤트를 사용하여 UIStepper의 처리기를 만듭니다. 필요

일부 설정은 스테퍼와 슬라이더 모두 수행 할

각각 0과 100 스테핑 슬라이더 최소값과 최대 값을 설정합니다. 스테퍼의 스텝 크기를 1로 설정하십시오. 스테퍼와 슬라이더의 기본값을 동일하게 설정하십시오.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.slider.minimumValue = 0; 
    self.slider.maximumValue = 100; 

    self.stepper.minimumValue = 0; 
    self.stepper.maximumValue = 100; 
    self.stepper.stepValue = 1; 

    self.slider.value = 10; 
    self.stepper.value = 10; 

} 

- (IBAction)stepperValueChanged:(UIStepper *)sender { 

    [self.slider setValue:sender.value]; 

    self.myTextLabel.text = [@((int)sender.value) stringValue]; 

} 

- (IBAction)sliderValueChanged:(UISlider *)sender { 

    [self.stepper setValue:sender.value]; 

    self.myTextLabel.text = [@((int)sender.value) stringValue]; 
} 
+0

이 코드를 보내 주셔서 감사합니다. 그러나 저는 빠른 newb 질문을 가지고 있습니다 : 어떻게 UISlider에 대한 참조를 만들 수 있습니까? 슬라이더에 대한 메서드를 만들 때마다 {} 괄호 밖에서 참조 할 수 없으며 다른 점을 가리키는 다른 방법이 무엇인지 알 수 없습니다. – jake9115

+0

.h 파일 내에서만 가능합니다. @property (비 원자, 유지) UISlider * ; 끝과 다음 사이에 .m 파일에서 바로 구현 의 구현 예 ; 그러면 getter/setter 함수를 만들어서 {} 이상으로 사용할 수 있습니다. 구현 및 양쪽 모두 합성 @ – user2277872

+0

IB의 컨트롤을 연결하고 컨트롤에 IBOutlet 속성을 연결하면됩니다. 위의 stepper, min, max 및 step의 설정은 IB 자체에서 설정할 수 있습니다. – Anupdas