如何将UISlider的值显示为Integer

时间:2009-12-02 04:15:52

标签: iphone ios uislider

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

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

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:3)

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