我使用检测震动的代码,该代码在设备上有效,但是当我在模拟器上使用震动手势时,为什么不起作用?
我使用下面的代码进行检测
#define kAccelerationThreshold 2.2
#define kUpdateInterval (1.0f/10.0f)
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
if (fabsf(acceleration.x) > kAccelerationThreshold || fabsf(acceleration.y) > kAccelerationThreshold || fabsf(acceleration.z) > kAccelerationThreshold)
...
}
最佳答案
看看UIResponder的motionEnded:方法。您可以在窗口,视图或视图控制器上实现motionEnded来检测抖动,如下所示:
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (event.type == UIEventSubtypeMotionShake)
{
// your code here
}
}
在我的应用程序中,我需要一个应用程序范围内的震动处理程序。因此,我将UIWindow子类化(大多数情况下,我的应用程序都有一个窗口),并将处理程序放入该子类中。
关于iphone - 摇动手势不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4195112/