我想向我的应用程序发送“摇动设备”事件 - 即,当用户摇动设备时会发生某些事情。 我试着实施:
-(void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.subtype == UIEventSubtypeMotionShake) {
//something happens
}
}
它似乎不起作用.......
有谁知道我应该使用哪种方法?
答案 0 :(得分:5)
尝试使用以下代码,它对我来说很好。
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if ( event.subtype == UIEventSubtypeMotionShake )
{
//your code
}
if ( [super respondsToSelector:@selector(motionEnded:withEvent:)] )
[super motionEnded:motion withEvent:event];
}
- (BOOL)canBecomeFirstResponder
{
return YES;
}
答案 1 :(得分:1)
可能要迟到才能回答,但在你的viewDidLoad中你需要包括。
[self becomeFirstResponder];
试一试。
答案 2 :(得分:0)
除了Taylor的解决方案,还要确保你的AppDelegate.m中有这个。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
application.applicationSupportsShakeToEdit = YES;
return YES;
}