我成功实施了摇动手势,但现在我想将其限制为仅在特定情况下激活(在我的应用的选项面板中)。
我首先创建了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。
答案 0 :(得分:4)
我可能会误解,但是怎么样......
- (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
}