0
我有以下代码:iPhone摇晃过程中执行代码
- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if (motion == UIEventSubtypeMotionShake){
NSLog(@"Detected a shake"); }
}
此代码NSLogs当振动开始了,我也可以实施motionEnded然后将它的NSLog当振动结束,但我要的是执行代码在抖动期间(iPhone晃动时进度条从0到100)。
你能帮我解决吗?
是的,但问题是,motionEnded有时不能确认,保持甚至运行的功能,如果你不要动摇它 – 1337code
你还应该听取'-motionCancelled:withEvent:'。无论是那个还是'-motionEnded:withEvent:'都会被调用。然而,如果仔细观察文档,看起来如果“过长”,摇动手势将被取消。我无法找到“太长”的时间长短的具体数字。如果这是一个问题,您将不得不更加直接地收听加速度计数据。 – drewag