这是一个简单的类,允许通过在一定方向上摆动设备来滚动任何可滚动的内容。它受到了亚马逊 Fire Phone 无需拖拽即可滚动的能力的启发。
此类是为与 iOS 7.1 协作并在此版本上进行了测试而设计的,但可能也很好地与其他早期版本一起工作。它需要 ARC。
要在应用中使用此类,只需将 MSMotionScroller 类文件(不需要示例文件和资源)拖到您的项目中,并添加 CoreMotion 框架。
首先,在希望使用的视图控制器内创建一个内部变量。
MSMotionScroller *motionScroll;
在 viewDidLoad 方法中,简单地实例化内部变量并将其分配为代理。
motionScroll = [[MSMotionScroller alloc]init];
motionScroll.delegate = self;
MSMotionScroller 通过实现 didMeanToScroll:direction
方法定义了一个简单的代理,当捕获到运动时会触发。
- (void)didMeanToScroll:(MSScrollMotionDirection)direction {
switch (direction) {
case MSScrollMotionDirectionUp:
// DID MEAN TO SCROLL UP
break;
case MSScrollMotionDirectionDown:
// DID MEAN TO SCROLL DOWN
break;
case MSScrollMotionDirectionLeft:
// DID MEAN TO SCROLL LEFT
break;
case MSScrollMotionDirectionRight:
// DID MEAN TO SCROLL RIGHT
break;
}
}
MSMotionScroller 实现了一个属性来定义摆动的灵敏度,默认值为 0.25。
@property CGFloat sensibility;
另一个属性用于在需要时暂停摆动的捕获。
@property BOOL pause;
此类实现了一个在检测到摆动时触发的代理方法。
- (void)didMeanToScroll:(MSScrollMotionDirection)direction;
检查提供的示例,以了解如何使用 MSMotionScroller 在一个表格视图中进行滚动并打开一个滑动菜单。
如果您想贡献力量,请随时联系我。我很乐意将您加入团队!