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