垂直滑块中只有一个方向
Posted
技术标签:
【中文标题】垂直滑块中只有一个方向【英文标题】:only one direction in a vertical slider 【发布时间】:2013-01-04 16:56:54 【问题描述】:在 iPad 的应用程序中,我正在尝试构建一个只会向上移动的滑块,它会被一个按钮重置。
我发现了如何垂直放置它,只需进行转换:CGAffineTransformMakeRotation
。
但是如何阻止滑块向下移动呢?
任何帮助将不胜感激。
谢谢。
【问题讨论】:
好问题。我要说的是主要的压倒一切。 @AceLegend 根本不需要覆盖。看我的回答。 【参考方案1】:您需要为滑块的值设置一个处理程序:
[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
重置为滑块的最小值。
【讨论】:
我想在这种方法中..但滑块不会改变他的价值??它不能改变价值..我会试试的。谢谢 @Frade 使用这种方法,滑块的值只能上升,不能下降。【参考方案2】:您可以创建一个自定义 UISlider 子类并实现- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
方法来检查滑块是否正在向下移动。
【讨论】:
然后……我猜不要动它。不确定这将如何运作,但它可能是您将使用的方法。决定如何禁用向下移动可能是一个挑战。不过我不确定。以上是关于垂直滑块中只有一个方向的主要内容,如果未能解决你的问题,请参考以下文章