PADTiltViewController 0.1

PADTiltViewController 0.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released上次发布2014年12月

Pavel Dusatko 维护。




PADTiltViewController 为 iOS 上的单方向滚动视图添加设备倾斜功能。

PADTiltViewController

视频链接: Youtube

安装

PADTiltViewController 可在 CocoaPods 上找到。只需将以下行添加到您的项目 Podfile 中

pod 'PADTiltViewController'

或者,您也可以手动将文件添加到您的 Xcode 项目中。

用法

PADTiltViewController 使用 CoreMotion 框架来检测倾斜手势。

从基于您应用设计继承 PADTiltCollectionViewControllerPADTiltScrollViewControllerPADTiltTableViewController 开始。

#import <PADTiltViewController/PADTiltViewController.h>

@interface PADTiltTableViewControllerExample : PADTiltTableViewController

@end

运动管理器

您的应用应只创建一个 CMMotionManager 类的实例。多个此类实例会影响从加速度计和陀螺仪接收数据的频率。

pad_motionManager 属性设置为引用此实例(最好在 viewDidLoad 中)。

- (void)viewDidLoad {
  [super viewDidLoad];

  self.pad_motionManager = [(PADAppDelegate *)[[UIApplication sharedApplication] delegate] motionManager];
}

滚动视图

PADTiltScrollViewController 需要您手动提供一个 UIScrollViewUITableViewUICollectionView 的实例,并将其分配给 scrollView 属性。您可以编程实现,或通过 storyboard/xib 文件实现。

- (void)viewDidLoad {
  [super viewDidLoad];

  self.scrollView = self.collectionView;
}

倾斜方向

您还可以设置首选的倾斜方向。

// Horizontal collection view
self.pad_tiltDirection = PADTiltDirectionHorizontal;

开始 & 停止

通过调用 pad_startReceivingTiltUpdates 开始倾斜更新。

- (void)startReceivingTiltUpdates {
  [self pad_startReceivingTiltUpdates];

  // Custom logic goes here
}

通过调用 pad_stopReceivingTiltUpdates 停止倾斜更新。

- (void)stopReceivingTiltUpdates {
  [self pad_stopReceivingTiltUpdates];

  // Custom logic goes here
}

还有一个示例项目。在示例中,您可以倾斜垂直表格视图和水平收集视图。

最佳实践

  • 由于运动传感器会导致电池耗电更高,因此在不使用时始终禁用倾斜。
  • 不要将手势与由倾斜驱动的滚动结合使用。
  • 使用适当的 UI(您可以从前面的示例项目中获取灵感)让用户知道已经启用了倾斜。

工作原理

PADTiltViewController 使用 PADTiltAdditions 类别与关联对象结合 UIViewController 来扩展 UIViewControllerUICollectionViewControllerUITableViewController 的行为。

贡献

查看 CONTRIBUTING.md 文件了解如何提供帮助。

许可协议

PADTiltViewController 在 MIT 许可证下发布。请参阅 LICENSE 文件了解详细信息。