iOS编码滑块问题

时间:2014-06-25 13:08:07

标签: ios slider

大家好,我正在尝试创建一个包含7个不同部分的滑块,因为滑动标签会改变滑块。

我已经将它全部链接到.m .h,因此标签会与滑块等文件进行交互,但只有值为0,0.5和1的文件才能正常工作?

有人能指出我做错的正确方向吗?我是iOS开发的新手,这是我第一次使用滑块。

这是滑块<。p>的.m文件中的代码

-(IBAction)slidetheslider:(id)sender; {
q4label1.text = [NSString stringWithFormat:@"%0.1f",question4slider.value];
 if (question4slider.value == 0) {
     q4label2.text = @"> 2.5 dots L";
                      }
if (question4slider.value == 0.2) {
    q4label2.text = @" 2.5 dots L";
}
if (question4slider.value == 0.3) {
    q4label2.text = @"1-2 dots L";
}
if (question4slider.value == 0.5) {
    q4label2.text = @"< 1 dot L/R";
}
if (question4slider.value == 0.7) {
    q4label2.text = @"1-2 dots R";
}
if (question4slider.value == 0.8) {
    q4label2.text = @"2.5 dots R";
}
if (question4slider.value == 1) {
    q4label2.text = @"> 2.5dots R";
}

}

1 个答案:

答案 0 :(得分:0)

question4slider.value是一个浮点数。由于它的存储方式,它不会在内存中准确表示,有时0.2存储为0.01999999999。所以不要使用绝对比较。试试这个:

-(IBAction)slidetheslider:(id)sender; {
q4label1.text = [NSString stringWithFormat:@"%0.1f",question4slider.value];
 if (question4slider.value < 0.2) {
     q4label2.text = @"> 2.5 dots L";
                      }
} else if (question4slider.value < 0.3) {
    q4label2.text = @" 2.5 dots L";
}
else if (question4slider.value < 0.5) {
    q4label2.text = @"1-2 dots L";
}
else if (question4slider.value < 0.7) {
    q4label2.text = @"< 1 dot L/R";
}
else if (question4slider.value < 0.8) {
    q4label2.text = @"1-2 dots R";
}
else if (question4slider.value < 1.0) {
    q4label2.text = @"2.5 dots R";
}
else
    q4label2.text = @"> 2.5dots R";
}