【发布时间】:2010-06-09 18:40:32
【问题描述】:
谁能指出我关于滑块的正确方向,下面的版本是我的第一次尝试(范围是 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:
添加UISlider *slider = (UISlider *)sender; 如物质 G 所指出的确实有效。我知道使用 sender 是惯例,但在我看来,在这种情况下,不仅惯例不太清楚,而且代码也更复杂和更多。在 2.0 版中,将方法静态键入到 (UISlider *) 似乎是明智的 IMO。在滑块 IBAction 方法中是否存在使用 (UISlider *) 不起作用的情况?
干杯加里
【问题讨论】:
标签: iphone objective-c cocoa-touch