我知道如何检测shake gesture
。它可以通过以下程序检测:
打开你的AppDelegate.m
'并将以下代码添加到application:didFinishLaunchingWithOptions:
方法中。
您必须在' return YES
'。
[application setApplicationSupportsShakeToEdit:YES];
现在打开你的viewController.m
'要使用controller
的{{1}}文件。修改shake gesture
和viewDidAppear:
方法。
添加以下代码:
viewDidDisappear:
之后你应该在下面的代码中添加方法:
- (void)viewDidAppear:(BOOL)animated {
[self becomeFirstResponder];
}
- (void)viewDidDisappear:(BOOL)animated {
[self becomeFirstResponder];
}
但我想知道逻辑是如何运作的。
如何检测?是否使用- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
// Do your thing after shaking device
}
(CoreMotion
,accelerometer
和magnetometer
)进行检测?
如果有人知道请分享。
答案 0 :(得分:0)
这取决于你拥有的设备,但Core Motion确实是正确答案。
设备通常有两种方法可以检测运动,加速度计和陀螺仪 并非所有iOS设备都有陀螺仪。无论如何,Core Motion在启用时跟踪设备并允许您从一个或两个中进行采样。
查看apple's docs以获得更详细的了解。