2010-03-16 3 views
1

У меня есть UISlider, который скользит с диапазоном от 0.0 до 1.0.UISlider increments

Слайд-шоу с ползунком позволяет пользователям скользить с действительно большим количеством цифр цифр, но я хочу, чтобы мои пользователи могли увеличивать/уменьшать на .001 для каждого «галочки» вверх или вниз по ползунку ,

Возможно ли это установить?

Спасибо!

ответ

3

Насколько велик этот слайдер? Даже если вы охватили всю ширину экрана в ландшафтном режиме, изменение 0,001 составляет всего около половины пикселя. Похоже, вам просто нужно округлить значение ползунка (за кулисами) до точности, с которой вам нужно.

1

Что-то очень простое, например: 3 слайдера (со значениями {0, 1, 2}), с IBAction и IBOutlet, подключенным к нему.

-(float)roundValue:(float)value{ 

    if(value <= 0.5) return 0; 
    if(value <= 1.5) return 1; 
    return 2; 
} 

-(IBAction)mySliderChanged:(id)sender { 

    float value = mySliderOutlet.value; // retrieve value via IBOutlet 
    value = [self roundValue:value]; 

    // Update the slider to 'snap' in final position 
    [[self mySliderOutlet] setValue:value animated:YES]; 
} 
0

Это должно сделать трюк:

- (void) getSliderValue:(UISlider *)paramSender{ 
    float increment = 0.001; 
    float newValue = paramSender.value /increment; 
    paramSender.value = floor(newValue) * increment; 
    NSLog(@"Current value of slider is %f", paramSender.value); 
} 
Смежные вопросы