我有 4 个值UISlider
。我希望当滑块值发生变化时,它应该显示以下值
if (slider.value==0)
{
label.text="5";
}
else if(slider.value==1)
{
label.text="10"
}
else
{
label.text="15";
}
您需要在 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];
请注意,滑块将报告带有小数位的值,因此值等于整数的情况很少见。更改逻辑以使用小于检查,如上所示。
if (slider.value == 0) {
和
if (slider.value == 1) {
是错误的 - 您不能使用 == (和 != )运算符比较浮点数 - 因为它们不是精确值。你应该这样做:
if (slider.value < 0.001) {
和
if (slider.value > 0.999) {