iOS:如何实现“摇动设备”事件?
Posted
技术标签:
【中文标题】iOS:如何实现“摇动设备”事件?【英文标题】:iOS: How to Implement a "Shake Device" event? 【发布时间】:2011-07-24 13:02:35 【问题描述】:我想为我的应用程序添加一个“摇动设备”事件 - 即,当用户摇动设备时,会发生一些事情。 我尝试实施:
-(void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
if (event.subtype == UIEventSubtypeMotionShake)
//something happens
它似乎不起作用....... 有谁知道我应该使用哪种方法?
【问题讨论】:
【参考方案1】:尝试使用下面的代码,它对我来说很好。
- (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;
【讨论】:
【参考方案2】:回答可能为时已晚,但您需要在 viewDidLoad 中加入。
[self becomeFirstResponder];
试试看。
【讨论】:
你还必须添加... -(BOOL)canBecomeFirstResponderreturn YES;【参考方案3】:除了 Taylor 的解决方案,还要确保你的 AppDelegate.m 中有这个。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
application.applicationSupportsShakeToEdit = YES;
return YES;
【讨论】:
以上是关于iOS:如何实现“摇动设备”事件?的主要内容,如果未能解决你的问题,请参考以下文章