iPhone 双滑动解锁是什么?

3

我想要一个iOS控件,可以从左到右滑动,类似于滑动解锁,但也可以从右到左滑动。我希望它非常类似于Android锁屏界面上的控件,从左到右滑动可以解锁,从右到左滑动可以静音。

enter image description here

  1. 看起来最简单的实现方式是通过子类化UISlider,对吗?我需要两个滑块还是只需要一个?

  2. 是否已经有任何开源版本可用?

想法

这里有一个协议可能会是什么样子:

@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

相关

1个回答

0

我想不出任何第三方版本适用于此。 我觉得UISlider不是一个好的开始位置。 如果我是你,我会子类化UIScrollView。

将其设置在屏幕底部,高度约为44像素。 在scrollView上放置图像,就像您发布的图片中一样。

然后,遵循UIScrollViewDelegate并实现scrollViewDidScroll:方法以跟踪用户向左或向右滑动它的时间。 在此方法内,检查UIScrollView的contentOffset属性。 通过试错,您可以找到确切的内容偏移量,从而触发您正在寻找的操作。

例如,如果contentOffset为50表示它是DoubleSliderDirectionLeftToRight,您可以触发委托回调,然后使用scrollRectToVisible:animated:将滚动视图“跳回”到原始位置。
抱歉回答有点啰嗦和RTFM式,但我没有代码支持这一点。这只是猜测,但我不明白为什么这个解决方案不会起作用 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接