HKRewind 1.0.0

HKRewind 1.0.0

测试已测试
语言语言 Objective C++Objective C++
许可证 MIT
发布最后发布2014年12月

Panos Baroudjian 维护。




HKRewind 1.0.0

  • 作者:
  • Panos Baroudjian

Screenshot

HKRewind 包含一个 UIGestureRecognizer 子类和一个 HUD 视图,可以帮助您实现类似 Fifty-Three 的 Paper 的回放手势。

HKRewind 使用 Auto-layout,因此仅在 iOS6+ 系统中兼容。需要注意的是,HKRewind 使用 HKCircularProgressView(版本 1.1.0)。

如何使用它

  1. 使用 CocoaPods,在您的 Podfile 中添加 `pod 'HKRewind'`。
  2. 手动方式
    • 克隆 HKCircularProgressView(版本 1.1.0)并将其文件导入。
    • 克隆此仓库
    • 将 HKRewindGestureRecognizer、HKRewindView、HKArcPoints、HKGeometryHelpers、HKRewindHUD 文件(.h、.m 和 .mm)复制到您的项目中。

导入 `HKRewindGestureRecognizer.h`,将此识别器的实例添加到您的视图中,并像使用任何 UIGestureRecognizer 子类一样使用它。如果您想使用 HUD 视图,则导入 `*HKRewindHUD.h`,使用 `HUDForView:(UIView *)view` 方法为您视图创建一个 HUD,并用 `showHUDAnimated:(BOOL)animated` 和 `hideHUDAnimated:(BOOL)animated` 方法显示和隐藏它。

请参考此仓库中的 `HKRewindViewController` 类,以获取一个简单的例子。

如何配置它

HKRewindGestureRecognizer

HKRewindGestureRecognizer 会发出 3 个 UIGestureRecognizerStates:UIGestureRecognizerStateBegan(这是您应该显示 HUD 的时候),UIGestureRecognizerStateChanged(这是您应该使用 rotationDelta 属性来更新 HUD 的时候)和 UIGestureRecognizerStateEnded(这是您应该隐藏 HUD 的时候)。

您可以通过编辑以下属性来自定义手势识别器的行为:

  • numberOfTouchesRequired:必须触摸视图的手指数。默认值为 2。
  • timeout:用户在进行活动不被接受前可以保持无操作的最大秒数。默认为 1。
  • maximumRadius:用户可能绘制圆的最大半径。如果用户进行手势操作时显示了可视化提示(如圆),则应将其设置为可视化提示的半径。默认为 200。
  • maximumRotationDelta:rotationDelta 被分配的最大绝对值,以弧度为单位。默认值为 π/50。

为了检索手势识别器提供的信息,请使用以下属性

  • rotationDelta:自上次移动以来用户描述的旋转角度,以弧度为单位。这是一个有符号值,不要使用顺时针属性来改变这个值。
  • clockwise:布尔值,用于确定用户是否在进行顺时针旋转。
  • velocity:旋转手势的旋转速度,以每秒弧度为单位。

HKRewindHUD

请不要像普通视图那样初始化HKRewindHUD,而是应该使用HUDForView:(UIView *)view方法。使用showHUDAnimated:(BOOL)animatedhideHUDAnimated:(BOOL)animated来显示和隐藏HUD。

您可以通过访问和编辑以下属性来自定义HUD的行为

  • rewindView:显示的HKRewindView的底层视图。使用此属性上的- (void)addProgression:(CGFloat)rotationDelta方法来更新进度。您还可以自定义视图的外观,请参考HKRewindView的文档以获取更多信息。
  • animationDuration:淡入/淡出动画的持续时间。默认为0.25秒。
  • animationDelay:淡入/淡出动画的延迟。默认为0秒。