iPhone上UISlider的弹性效果

时间:2012-02-23 18:24:38

标签: iphone ios uislider

UISlider 0,1,2和3 上有四个点。我希望当拇指位置从0到1时,它应该回到0但具有弹性效果。类似于1-2,2-3。这个实现将使我在我的应用程序中占据优势。

我试过没有弹性效果。但它看起来并不好。

3 个答案:

答案 0 :(得分:3)

告诉您的滑块在“Touch Up Inside”事件(UIControlEventTouchUpInside)上发送操作。将操作挂钩到此方法:

- (IBAction)dragEndedWithSlider:(UISlider *)sender {
    CGFloat roundedValue = roundf(sender.value);
    [sender setValue:roundedValue animated:YES];
}

如果您真正想要的话,可以使用truncf代替roundf

答案 1 :(得分:2)

将此方法绑定到“接口”构建器中的“已更改值”

   -(IBAction)sliderChanged:(id)sender {

        slider.value = (int)slider.value;
    }

答案 2 :(得分:2)

你可以继承UISlider并添加它:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

    CGFloat floorValue = floor(self.value);

    if ((self.value - floorValue) > 0.5) {

        [self setValue: floorValue + 1.0 animated: YES];

    } else {

        [self setValue: floorValue animated: YES];
    }
}