iPhone 摇动事件无法正常工作

标签 iphone shake motion-detection

我的 viewController 中有这个:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {

    if (event.type == UIEventSubtypeMotionShake) {

        NSLog(@"I have shaked");

    }
}

为什么这不起作用? 编辑:


我确实有这个:

- (void) viewWillAppear:(BOOL)animated
{
    [shakeView becomeFirstResponder];
    [super viewWillAppear:animated];
}
- (void) viewWillDisappear:(BOOL)animated
{
    [shakeView resignFirstResponder];
    [super viewWillDisappear:animated];
}

最佳答案

如果 UIViewController 在应用程序一开始就加载,我在 OS 3.0 中看到了一个奇怪的故障,它不会成为第一个响应者,除非你稍微延迟了适当的消息。尝试放置

[self performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.3];

在 -loadView 或首次设置 Controller 时调用的其他内容中。

可能有一种更优雅的方法来解决这个问题,但这种方法对我来说很有效。

关于iPhone 摇动事件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1984087/

相关文章:

ios - 如何找到 NSMutableArray 索引

iphone - 如何将核心数据添加到现有实用程序应用程序

jquery - 如何根据手机震动调用Ajax?

iOS : How to detect Shake motion?

java - 在 opencv for android 中使用运动分析和对象跟踪进行瞳孔运动

c++ - 使用opencv进行运动检测的错误

iphone - 使用 iOS 3.2 SDK 构建 iPhone 应用程序

iphone - 在 iOS 上使用 Flac 进行分块编码

ios - 如何让 UIButton 在点击时摇动?

python - OpenCV累积最大值