문제

UISLIDER의 가치는 현재 플로트로 표시됩니다. 정수로 어떻게 표시합니까?

sliderCtl = [[UISlider alloc] initWithFrame:frame];
    sliderCtl.minimumValue = 1;
    sliderCtl.maximumValue = 15;
    sliderCtl.continuous = NO;
    sliderCtl.value = 1;
    [sliderCtl setShowValue:YES];
도움이 되었습니까?

해결책

슬라이더에서 값을 자르거나 반올림 한 다음 사용자가 변경 사항에 대한 피드백을 제공하도록 업데이트 할 수 있습니다 (사용자가 릴리스 할 때 정수 값으로 스냅되는 것으로 보입니다).

다른 팁

슬라이더가 다른 정수 값으로 스냅되기를 원한다면 Valuechanged 기능에서 이와 같은 것을 사용할 수 있습니다.

-(IBAction)valueChanged:(UISlider*)sender {
    int discreteValue = roundl([sender value]); // Rounds float to an integer
    [sender setValue:(float)discreteValue]; // Sets your slider to this value
}

이렇게하면 손가락을 두 숫자 사이의 거리를 기준으로 1,2, ..., 15와 같은 값으로 손가락을 출시 한 후 슬라이더가 스냅됩니다. 예를 들어 슬라이더를 2.4로 릴리스하면 2로 돌아가고 2.6은 3으로 스냅됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top