12

UISlider 的值当前显示为浮点数。如何将其显示为整数?

sliderCtl = [[UISlider alloc] initWithFrame:frame];
    sliderCtl.minimumValue = 1;
    sliderCtl.maximumValue = 15;
    sliderCtl.continuous = NO;
    sliderCtl.value = 1;
    [sliderCtl setShowValue:YES];
4

2 回答 2

23

如果你想让你的滑块捕捉到不同的整数值,你可以在你的 valueChanged 函数中使用这样的东西:

-(IBAction)valueChanged:(UISlider*)sender {
    int discreteValue = roundl([sender value]); // Rounds float to an integer
    [sender setValue:(float)discreteValue]; // Sets your slider to this value
}

这将在松开手指后根据两个数字之间的距离将滑块对齐到 1,2,...,15 等值。例如,如果您在 2.4 时释放滑块,它会弹回 2,而在 2.6 时它会弹回 3。

于 2010-09-27T16:03:47.413 回答
3

您可以截断或舍入滑块中的值,然后更新它以向用户提供有关更改的反馈(当用户释放时,它似乎会捕捉到整数值)。

于 2009-12-02T04:28:22.757 回答