大家好,我正在尝试创建一个包含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";
}
}
答案 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";
}