我注意到iOS7中的UISlider与iOS 6和iOS 5中的UISlider行为不同:
假设你有一个min = 0和max = 10的滑块,当前值为0.当你第一次触摸“knob”时,会发送一个valueChanged消息,其中slider.value = 0.269(而不是预期的0)和旋钮向中间移动。通常,触摸滑块会将其移向中间值(本例中为5),距离当前中间距离越远,移动的越多。
所有这一切都没有发生在iOS6中,我想恢复旧的行为,但不知道如何实现这一目标。
答案 0 :(得分:16)
Apple还没有对我的错误报告发表评论,但我偶然发现了一个或多或少的解决方案:为旋钮安装自定义图像可以恢复iOS 6中的行为:
[self.slider setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateNormal];
答案 1 :(得分:5)
在iOS 9上,你需要设置.Normal,.Selected和.Highlighted状态才能工作。经过5小时的挣扎,我发现了这一点。走向Apple的路!
[_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateNormal];
[_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateSelected];
[_sliderView setThumbImage:[UIImage imageNamed:@"knob"] forState:UIControlStateHighlighted];
答案 2 :(得分:2)