为什么不设置这个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属性。