垂直滑块中只有一个方向

时间:2013-01-04 16:56:54

标签: iphone ios ipad uislider

在iPad的应用程序中,我正在尝试构建一个仅向上移动的滑块,它将通过按钮重置。

我发现了如何垂直放置,只需进行转换:CGAffineTransformMakeRotation。 但是如何阻止滑块向下移动?

任何帮助将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:3)

您需要为滑块的值设置处理程序:

[slider addTarget:self action:@selector(sliderUpdated:) forControlEvents:UIControlEventValueChanged];

您需要一个当前滑块值的实例变量:

float _sliderValue;

您需要实施上面设置的sliderUpdated:方法。

- (void)sliderUpdated:(UISlider *)slider {
    float val = slider.value;
    if (val < _sliderValue) {
        // The user tried to move the slider down - move it back up
        slider.value = _sliderValue;
    } else {
        // The user moved the slider up - save this as the new value
        _sliderValue = val;
    }
}

确保“重置”按钮处理程序将_sliderValue重置为滑块的最小值。

答案 1 :(得分:0)

您可以创建自定义UISlider子类并实现- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event方法来检查滑块是否向下移动。