谁能为我指出有关滑块的正确方向,以下版本是我的第一次尝试(范围为0.0-100.0)。我得到的结果不正确。

// Version 1.0
-(IBAction)sliderMoved:(id)sender {
    NSLog(@"SliderValue ... %d",(int)[sender value]);
}

// OUTPUT:
// [1845:207] SliderMoved ... -1.991753
// [1845:207] SliderMoved ... 0.000000
// [1845:207] SliderMoved ... 0.000000
// [1845:207] SliderMoved ... 32768.000435


在下面的版本中,我获得了期望的值,version_001中缺少了什么?

// Version 2.0
-(IBAction)sliderMoved:(UISlider *)sender {
    NSLog(@"SliderValue ... %d",(int)[sender value]);
}

// OUTPUT:
// [1914:207] SliderMoved ... 1
// [1914:207] SliderMoved ... 2
// [1914:207] SliderMoved ... 3
// [1914:207] SliderMoved ... 4


EDIT_001:

正如物质G指出的那样添加UISlider *slider = (UISlider *)sender;确实可以。我知道使用sender是约定,但是在这种情况下,我觉得约定不仅更加不清楚,而且更加复杂,代码更多。就像在2.0版中一样,将IMO静态键入方法为(UISlider *)似乎是明智的。我是否在使用IBAction滑块的方法中忽略了使用(UISlider *)无效的情况?

欢呼加里

最佳答案

尝试:

-(IBAction)sliderMoved:(id)sender {
    UISlider *slider = (UISlider *)sender;
    NSLog(@"SliderValue ... %d",(int)[slider value]);
}

关于iphone - 来自UISlider方法的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3008802/

10-13 03:43