ios设置UISlider的开始位置和增量

有谁知道如何设置一个UISlider的开始位置(理想的是在中间),以及如何增加几十而不是一个?

这是迄今为止我所得到的:

 // Setup custom slider images UIImage *minImage = [UIImage imageNamed:@"ins_blueTrack.png"]; UIImage *maxImage = [UIImage imageNamed:@"ins_whiteTrack.png"]; UIImage *tumbImage= [UIImage imageNamed:@"slide.png"]; minImage=[minImage stretchableImageWithLeftCapWidth:6.0 topCapHeight:0.0]; maxImage=[maxImage stretchableImageWithLeftCapWidth:6.0 topCapHeight:0.0]; // Setup the slider [self.slider setMinimumTrackImage:minImage forState:UIControlStateNormal]; [self.slider setMaximumTrackImage:maxImage forState:UIControlStateNormal]; [self.slider setThumbImage:tumbImage forState:UIControlStateNormal]; self.slider.minimumValue = 10; self.slider.maximumValue = 180; self.slider.continuous = YES; int myVal = self.slider.value; NSString *timeValue = [[NSString alloc] initWithFormat:@"%1d", myVal]; self.timeLabel.text = timeValue; // Attach an action to sliding [self.slider addTarget:self action:@selector(fxSliderAction) forControlEvents:UIControlEventValueChanged]; 

设置滑块位置

在保持你的代码,你可以有:

 self.slider.value = (90); 

注意:当你从同一个类中引用IBOutlet时候,并没有真正的self需要。

如果你想要一个真正dynamic的方式来设置UISlider的中途标志,你只需将你的最大值除以2,实际上减半:

 self.slider.value = (self.slider.maximumValue / 2); 

增加10倍的倍数

为此,我会build议一些与你目前有些不同的东西。 最less有10个,最多180个,最less1个,最多18个?

 self.slider.minimumValue = 1; self.slider.maximumValue = 18; 

每次检索滑块的值时,只需将其乘以10就可以了。这样滑块就会移动到18个不同的位置(如你所愿),并且总是得到10的倍数。

 int trueSliderValue = self.slider.value * 10; 

如果你想要一个UISlider的开始位置(理想的是在中间)

 slider.value = (slider.maximumValue / 2); 

如果你想增加10年代而不是1年,那么你应该有这么多的最大价值。 现在在滑块值改变的方法检查地板和当前滑块值ceilling,然后将其设置为slider.value =新值

这应该准确地放置UISlider的中点,而不pipe正在使用的minimumValue或maximumValue。

 slider.minimumValue = -10.0 slider.maximumValue = 1000.0 let trueMidPoint = ((slider.maximumValue-0)-(0-slider.minimumValue))/2 slider.value = trueMidPoint