iPhone:UISlider动态更改最大值
当我更改UISlider的maximumValue属性时,它的磨砂不会重新定位。我通过擦洗UISlider A动态更改UISlider B的maximumValue属性。因此,当UISlider A更改为例如1时,UISlider B的maximumValue+=1。UISlider B应该自动更新其擦洗位置,但不会。如果我按下UISlider B scrub,它会得到更新iPhone:UISlider动态更改最大值,iphone,xcode,uislider,Iphone,Xcode,Uislider,当我更改UISlider的maximumValue属性时,它的磨砂不会重新定位。我通过擦洗UISlider A动态更改UISlider B的maximumValue属性。因此,当UISlider A更改为例如1时,UISlider B的maximumValue+=1。UISlider B应该自动更新其擦洗位置,但不会。如果我按下UISlider B scrub,它会得到更新 解决方案是什么?如果要更改滑块拇指的值,需要使用: - (void)setValue:(float)value anima
解决方案是什么?如果要更改滑块拇指的值,需要使用:
- (void)setValue:(float)value animated:(BOOL)animated
maximumValue仅更改thumb可以表示的上限值我有一个确切的问题:当maximumValue以编程方式设置时,UISlider thumb不会在轨迹上重新定位自己,即使您显式调用setValue。例如:
// Setup:
UISlider *a = [[UISlider alloc] init];
a.minimumValue = 1.00;
a.maximumValue = 100.00;
[a setValue: 50.00];
/* CORRECT: The thumb is in the centre of the track, at position "50.00":
1 --------------------------- () --------------------------- 100
a.value == 50
*/
// Set maximumValue programmatically:
[a setMaximumValue: 1000.00];
/* INCORRECT: The thumb is still in the centre of the track: position "500.00":
1 --------------------------- () --------------------------- 1000
a.value == 50
|<---- It should be here (!)
*/
// Call setValue explicitly, to no avail:
[a setValue: 50.00];
/* INCORRECT: The thumb is still in the centre of the track: position "500.00":
1 --------------------------- () --------------------------- 1000
a.value == 50
|<---- It should be here (!)
*/
如果有人知道一个更好的方法,我很乐意阅读。(-):
[a setValue:a.value+1 animated:NO];
[a setValue:a.value-1 animated:NO];
/* (The thumb is now at position "50.00"):
1 -- () ---------------------------------------------------- 1000
a.value == 50
*/