为什么不设置这个UISlider的value属性更新它的位置?
问题描述:
... ViewController.h:为什么不设置这个UISlider的value属性更新它的位置?
@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.我试过[滑块setNeedsDisplay],并没有影响这种行为。
更新:感谢您的快速解答!这是多么愚蠢的事情。打印出CurrentValue的作为int别处所以我现在设定slider.value与此代码:用于UISlider
self.slider.value = (float) currentValue/100;
答
currentValue = 50;
滑块的范围是不 0 ... 100,但0〜1。你必须写要么
currentValue = 0.5;
或改变滑块的范围:
self.slider.maximumValue = 100;
答
默认范围是0.0至1.0(即,作为一个浮点数)。将值设置为max以上会导致滑块完全显示在右侧。检查您的minimumValue和maximumValue属性。