iphone - UISlider 方法的值(value)?

标签 iphone objective-c cocoa-touch

任何人都可以指出我关于 slider 的正确方向,下面的版本是我的第一次尝试(范围是 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 是惯例,但在我看来,在这种情况下,惯例不仅不太清晰,而且也更复杂和更多代码。在 IMO 看来,像 2.0 版那样静态地将方法键入 (UISlider *) 似乎是明智的。我在 slider IBAction 方法中是否忽略了使用 (UISlider *) 不起作用的情况?

干杯加里

最佳答案

尝试:

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

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

相关文章:

iphone - UIView 显示在 UITableView 部分中,滚动时从未添加到其中

ios - 在 : _NSLayoutTreeLineFragmentRectForGlyphAtIndex invalid glyph index 7 等文本字段中输入文本时出错

IOS/objective-C : Code to Make Round Image in Custom Cell

ios - 如何使用 viewWillTransitionToSize 停止旋转

iphone - 如何只显示有电话号码的联系人?

iphone - 处理空 TableView

iphone - 如何将 userInfo 添加到 UIAlertView?

ios - 延迟深度链接不适用于 iOS 10

ios - 在通用应用程序中,如何将模态视图转换或重用为弹出窗口?

ios - UITableView 滚动条没有拉伸(stretch)