... ViewController.h:
@property (nonatomic, strong) IBOutlet UISlider *slider;
... ViewController.m:
@synthesize slider;
- (void)viewDidLoad
{
[super viewDidLoad];
...
currentValue = 50;
self.slider.value = currentValue;
// Do any additional setup after loading the view, typically from a nib.
}
的.xib:
我界面中的UISlider已连接到滑块属性。
行为:
当滑块位于中间位置时,滑块一直位于右侧,值为100。我设置的动作确认currentValue的值为50.如果currentValue为50且slider.value设置为50,为什么位置不反映这个?
P.S。我试过[slider setNeedsDisplay]并且它不会影响这种行为。
更新:感谢您的快速解答!真是个傻事。我在其他地方打印出currentValue作为int,所以我现在使用以下代码设置slider.value:
self.slider.value = (float) currentValue/100;
答案 0 :(得分:2)
currentValue = 50;
滑块的范围是不 0 ... 100但是0 ... 1。你必须写
currentValue = 0.5;
或更改滑块的范围:
self.slider.maximumValue = 100;
答案 1 :(得分:1)
UISlider的默认范围是0.0到1.0(即作为Float)。将值设置为高于最大值将使滑块一直显示在右侧。检查minimumValue和maximumValue属性。