我希望iOS的控件从左向右滑动,类似于滑动解锁,但也从右向左滑动。我想要的东西与Android锁屏上的控件非常相似,从左到右滑动解锁并从右向左滑动。
通过子类化UISlider
似乎最容易实现,对吧?我需要两个滑块,还是只需一个滑块?
是否已有任何开源版本?
以下是协议可能的样子:
@interface DoubleSlider : UISlider
typedef enum {
DoubleSliderDirectionLeftToRight,
DoubleSliderDirectionRightToLeft
} DoubleSliderDirection;
@end
@protocol DoubleSliderDelegate <NSObject>
@optional
- (void)doubleSlider:(DoubleSlider *)doubleSlider
didBeginSlidingWithDirection:(DoubleSliderDirection)direction;
- (void)doubleSlider:(DoubleSlider *)doubleSlider
didEndSlidingWithDirection:(DoubleSliderDirection)direction;
@end
答案 0 :(得分:0)
我想不出任何第三方版本。我觉得UISlider不是一个好的开始。如果我是你,我会改为UIScrollView的子类。
将其设置在屏幕底部,使其高度为44像素左右。将图像放在scrollView上的适当位置,就像您发布的图像一样。
然后,符合UIScrollViewDelegate并实施scrollViewDidScroll:方法,以跟踪用户向左或向右滑动的方式。在此方法中,检查UIScrollView的contentOffset属性。通过反复试验,您可以找到确切的内容偏移,您认为滑动滚动视图会触发您正在寻找的操作。
例如,如果contentOffset为50表示它是DoubleSliderDirectionLeftToRight,则可以触发委托回调,然后使用scrollRectToVisible:animated:
将scrollview“跳回”到原始位置对于长篇大论和RTFM-ish的回答感到抱歉,但我没有代码支持这一点。这只是推测,但我不明白为什么这个解决方案不起作用:)。