2017-02-14 4 views
0

가변 최소 및 최대 설정이있는 UISlider가 있습니다. 이제 값을 0에서 1.0까지 계산해야합니다. 예 :
최소 = 결과 값은 -50.0 = 0.0, 값이어야범위에서 범위로 UISlider 값을 계산하는 방법 0-1.0

-20.0 -50.0


최대 = -20.0 = -35.0의 값이 약 0.5 propably

1.0 또한 분노 0-1.0에서 위의 범위로 계산해야하므로 0.5는 -35.0을 반환해야합니다.

왜이 질문이 주제와 관련이 있는지 알 수 없습니다. 원칙적으로 수학을 설명하기 위해 샘플 코드가 필요하지 않습니다. 어쨌든, 혼란없이 대답했습니다.

+1

질문은 왜 자신을 말했다 오프 주제 : " * 수학적 원리를 설명하기 위해 샘플 코드가 필요하지 않습니다. * "분명히 질문은 프로그래밍에 관한 것이 아니라 기본 수학에 관한 것입니다. 또한 질문에 의문의 여지가 없습니다. * *와 *는 *가 있어야하며, 사람들이 * 나에게 코드를 제공해야합니다. 왜냐하면 나는 이것이 사실인지 아닌지에 상관없이 자신의 *를 작성하기에는 너무 게으니까요. 이 장소에 대한 주제에 관한 좋은 질문은 "예를 들어 슬라이더 값을 변환하려고 시도했지만 0-1 대신 {결과}가 표시됩니다. 어디에서 실수가 있습니까?" – kazemakase

답변

1

원하는 범위는 30 정수입니다. 먼저 슬라이더 값을 30으로 곱하십시오. 이제 범위는 0...30입니다. 그런 다음 슬라이더 값에서 50을 뺍니다. 이제 범위는 -50...-20입니다.

역순으로 범위를 0...30으로 변경하려면 다시 50을 더한 다음 0...1 범위로 30으로 나눕니다.

+0

감사합니다. '0 ... 1.0 '범위에서'-50 ... -20 '범위의 반대로됩니다. 프레임 범위'-50 ...- 20'에서'0 ... 1.0'까지는 어떻습니까? – Udo

+0

아, 나는 전환을 오해했다. 그런 다음 반대로해야합니다 : 50을 더하고 30으로 나눕니다. – xoudini

0

selectedValue = -35.0

let slideValue = (selectedValue - minValue)/(maxValue - minVlaue) 

sliderValue =이 같은 0.5

0

시도 계산 (답변에서) : 기본적으로

var updatedNormalizedValue: Float 

@IBAction func valuechanged(_ slider: UISlider) { 
    let min = slider.minimumValue 
    let max = slider.maximumValue 
    let interval = max - min 
    updatedNormalizedValue = (slider.value - min)/interval 
}