【问题标题】:Problems with coding slider for iOSiOS 的编码滑块问题
【发布时间】:2014-06-25 13:08:06
【问题描述】:

大家好,我正在尝试创建一个包含 7 个不同部分的滑块,当您滑动滑块时,标签会发生变化。

我已将其全部与 .m .h 链接,因此标签与滑块等文件交互,但只有值为 0 、 0.5 和 1 的文件似乎有效?

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

这是我在滑块 .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";
}

}

【问题讨论】:

标签: ios slider


【解决方案1】:

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";
}

【讨论】:

  • 嗨欧文感谢您的回复,我已经调整了代码,但仍然遇到问题,它在行上出现错误消息。预期标识符或“(”?
  • 编辑:别担心,现在一切都整理好了!谢谢大家的帮助!
  • 如果这回答了您的问题,请将其标记为已回答,以免其他人继续调查。