我在UISlider
中有4个值。我希望当滑块值更改时,它应显示以下值
if (slider.value==0)
{
label.text="5";
}
else if(slider.value==1)
{
label.text="10"
}
else
{
label.text="15";
}
答案 0 :(得分:2)
您需要在Interface Builder中创建与UISlider的 Value Changed 事件的连接。您可以实现以下方法:
- (IBAction)sliderValueChanged:(UISlider *)slider {
if (slider.value < 1) {
self.label.text = @"5";
}
else if (slider.value < 2) {
self.label.text = @"10";
}
else {
self.label.text = @"15";
}
}
如果要以编程方式连接事件,可以使用:
[self.mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
请注意,滑块将报告带小数位的值,因此您的值等于整数的情况很少见。如上所示,将逻辑更改为使用小于支票。
答案 1 :(得分:1)
if (slider.value == 0) {
和
if (slider.value == 1) {
错误 - 您无法使用==(和!=)运算符比较浮点数 - 因为它们不是精确值。你应该这样做:
if (slider.value < 0.001) {
和
if (slider.value > 0.999) {