如何将 iPhone 抖动手势检测限制在特定情况下?
Posted
技术标签:
【中文标题】如何将 iPhone 抖动手势检测限制在特定情况下?【英文标题】:How to limit iPhone shake gesture detection to specific situation? 【发布时间】:2012-03-25 19:15:14 【问题描述】:我成功实现了摇动手势,但现在我想将其限制为仅在一种特定情况下(在我的应用的选项面板中)激活。
我首先创建了 ShakeWindow 类,它是 UIWindow 的子类。在 ShakeWindow 中我添加了- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
来注册摇动手势。
接下来我去了 AppDelegate.m 并编辑 window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
以使用新的 ShakeWindow 而不是 UIWindow。
效果很好,但我如何限制它的功能?我刚刚开始使用 Objective-C,并且总体上认为自己是一个新手编码器,所以在回答时请记住这一点,谢谢!
我使用 Cocos2D 作为框架,如果这些我不使用 Interface Builder。
【问题讨论】:
【参考方案1】:我可能是误会了,但是...
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
if (/* conditions where my app responds to shake */)
// respond to shake
// otherwise, it's like it never happened
【讨论】:
我必须说,有时我会让最简单的事情看起来比实际更难。谢谢。以上是关于如何将 iPhone 抖动手势检测限制在特定情况下?的主要内容,如果未能解决你的问题,请参考以下文章