iPhone在震动时执行代码
我有以下代码:iPhone在震动时执行代码,iphone,progress-bar,shake,Iphone,Progress Bar,Shake,我有以下代码: - (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ if (motion == UIEventSubtypeMotionShake){ NSLog(@"Detected a shake"); } } 这段代码在震动开始时记录NSLog,或者我可以实现motionEnded,然后在震动结束时记录NSLog,但我想要的是在震动期间执行代码(iPhone震动时进度条从0
- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if (motion == UIEventSubtypeMotionShake){
NSLog(@"Detected a shake"); }
}
这段代码在震动开始时记录NSLog,或者我可以实现motionEnded,然后在震动结束时记录NSLog,但我想要的是在震动期间执行代码(iPhone震动时进度条从0到100)
你能帮我一下吗?在运动开始回调中,你应该创建一个执行函数的线程。这个函数应该在震动过程中完成你想做的事情。调用motionEnded回调时,应该终止线程 有关更多信息,请参阅NSThread文档 最值得注意的是:
-motionCancelled:withEvent:
。将始终调用that或-motionEnded:withEvent:
。然而,仔细看一下文档,如果抖动动作“持续时间过长”,它看起来将被取消。我找不到“太长”是多长的具体数字。如果这是一个问题,您将不得不更直接地收听加速计数据。