0
% 값을 나타내는 페이지에 n 개의 슬라이더가 있습니다. 분명히 비율은 n 개의 슬라이더에서 총 100 %를 초과해서는 안됩니다. N-1 슬라이더의 현재 totat 90 인 경우 n 번째 슬라이더가 드래그되는 경우슬라이더 값을 기준으로 UISlider에서 끌기 작업 취소
그렇다면,, I는 10
어떤 아이디어에 중단 하시겠습니까?
% 값을 나타내는 페이지에 n 개의 슬라이더가 있습니다. 분명히 비율은 n 개의 슬라이더에서 총 100 %를 초과해서는 안됩니다. N-1 슬라이더의 현재 totat 90 인 경우 n 번째 슬라이더가 드래그되는 경우슬라이더 값을 기준으로 UISlider에서 끌기 작업 취소
그렇다면,, I는 10
어떤 아이디어에 중단 하시겠습니까?
UIControlEventValueChanged
에 호출 된 작업 방법에서 sender
의 최대 허용 값을 계산하고 실제 값이 최대 값보다 큰 경우 sender.value
을 최대 허용 값으로 설정합니다.
편집 : 방금 슬라이더 2 개로이 접근법을 시도했는데 효과적입니다. 두 슬라이더 중 하나가 업데이트 될 때 호출되는 동작 메서드입니다.
- (IBAction)sliderValueChanged:(id)sender
{
UISlider *currentSlider = (UISlider *)sender;
UISlider *otherSlider = currentSlider == self.slider1 ? self.slider2 : self.slider1;
static float maxSum = 100.0f;
float currentSum = currentSlider.value + otherSlider.value;
if (currentSum > maxSum) {
currentSlider.value = maxSum - otherSlider.value;
}
}
예 - 시도했지만 드래그가 여전히 발생하고 값과 드래그 위치가 동기화되지 않습니다. 나는 백분율 가치로 새롭게하는 상표가 있고,이 상표는 100를, 슬라이더는 80에 찔렀다. –
Nope, 틀렸다. 방금 해봤는데 완벽하게 작동합니다. 위의 편집을 참조하십시오. 물론 슬라이더를 연속 업데이트로 설정해야합니다. –
고마워요! 내가 필요한 것 ... – amergin