为什么不设置这个UISlider的值属性更新其位置?

… 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连接到slider属性。

行为:

当滑块位于中间位置时,滑块一直位于值100的右侧。 我设置的动作确认currentValue的值是50.如果currentValue是50并且slider.value被设置为50,为什么这个位置不反映这个?

PS我试过[slider setNeedsDisplay],并没有影响这种行为。

更新:感谢您的快速解答! 多么愚蠢的事情要做。 我打印出currentValue作为int其他地方,所以我现在设置slider.value这个代码:

 self.slider.value = (float) currentValue/100; 

 currentValue = 50; 

滑块范围不是 0 … 100,而是0 … 1。 你必须写

 currentValue = 0.5; 

或更改滑块的范围:

 self.slider.maximumValue = 100; 

UISlider的默认范围是0.0到1.0(即作为一个浮点数)。 设置一个大于max的值将导致滑块显示在最右边。 检查您的minimumValue和maximumValue属性。