iPhone双滑解锁?
Posted
技术标签:
【中文标题】iPhone双滑解锁?【英文标题】:Double slide to unlock for iPhone? 【发布时间】:2011-11-08 05:06:03 【问题描述】:我想要一个从左到右滑动的 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
相关
iPhone "slide to unlock" animation Slider which helps to unlock the iPhone UISlider, slide to unlock iPhone:Programming UISlider to position at clicked location Custom Double Handle Slider【问题讨论】:
【参考方案1】:我想不出任何第三方版本。我不觉得 UISlider 会是一个好的开始。如果我是你,我会改为子类化 UIScrollView。
将其设置在屏幕底部,使其高度为 44 像素左右。将图像放置在滚动视图上的适当位置,就像您发布的图像一样。
然后,符合UIScrollViewDelegate 并实现scrollViewDidScroll: 方法来跟踪用户何时向左或向右滑动。在此方法中,检查 UIScrollView 的 contentOffset 属性。通过反复试验,您可以找出您认为滑动滚动视图应该触发您正在查找的操作的确切内容偏移量。
例如,如果 contentOffset 为 50 意味着它用于 DoubleSliderDirectionLeftToRight,您可以触发委托回调,然后使用 scrollRectToVisible:animated: 让滚动视图“跳回”到原始位置
对不起,冗长的 RTFM 式答案,但我没有代码支持这一点。这只是猜测,但我不明白为什么这个解决方案不起作用:)
【讨论】:
以上是关于iPhone双滑解锁?的主要内容,如果未能解决你的问题,请参考以下文章