UISlider
在 0,1,2和3 上有四个点。我希望当拇指位置从0到1时,它应该回到0但具有弹性效果。类似于1-2,2-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];
}
}