UISlider是iOS中非常常见的UI控件, 继承自UIControl, 可设置valueChanged等事件响应方法. 但其默认不支持单击事件, 本文即简单地实现了可单击选值的UISlider.
UISlider的常见IBAction
ValueChanged: 当UISlider的值发生变化时调用.
TouchDown: 当UISlider被按下时调用.
TouchUpInside/TouchUpOutside: 松开时调用.
一般情况下, 添加这三个对于的IBAction方法即可满足UISlider的使用.
添加点击事件
为UISlider添加单击手势UITapGestureRecognizer, 在单击手势响应方法中计算点击的位置, 通过该位置设置UISlider的正确值即可.
添加单击手势:
_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(actionTapGesture:)];
_tapGesture.delegate = self;
[_slider addGestureRecognizer:_tapGesture];
单击手势响应方法:
- (void)actionTapGesture:(UITapGestureRecognizer *)sender {
CGPoint