Как рассчитать значение слайдера от отрицательного до положительного

У меня есть ползунок кривой, который принимает значение от высоты кадра, значение которого составляет от -100 до 300, и мне нужно рассчитать его, чтобы оно равнялось значению от 0 до 10.

Как я могу рассчитать отрицательное значение, так как то, что я получил, было отрицательным значением?

моя математика плохая:(

     -(NSUInteger)calculatePoints:(float)pointY
{
    NSLog(@"maxOffsetValue %f minOffsetValue %fand pointY %f",maxOffsetValue,minOffsetValue, pointY);

    float value =  maxOffsetValue + minOffsetValue;
    NSLog(@"value %f",value);
    float normalValue = (pointY * 1.5) / value ;
    NSLog(@"normalValue %f",normalValue);

    return normalValue;
}
//set value from point
-(void) setValueFromPoint:(CGPoint) point
{
    [animationTimer invalidate]; 

    NSInteger value = [self calculatePoints:point.y];
    value = ((value / self.frame.size.height) * self.max);

    NSLog(@"raw value %d",value);
    value < 0 ? value = 0 : value;
    value > self.max ? value = self.max : value;
    self->_value = value;
    NSLog(@"Value %d",value);
}

2 ответа

Решение

Просто короткий ответ.

((point.y-(-100))/400) * 10

Вы можете получить свое значение в масштабе между 0 а также 10 используя

(x + 100) / 40

где x это значение между -100 а также 300,


Ссылка

Другие вопросы по тегам