【发布时间】:2009-11-07 15:56:23
【问题描述】:
我在我的应用程序中使用了摇晃手势,但我遇到了问题!
我的应用程序是一个多视图应用程序,我想在视图 2 上使用摇动手势。 如果我在视图 2 上激活摇动手势,我必须在 MainViewController.m 中编写以下代码 和 MyView2Controller.m 使用摇动手势。
然后,如果我摇动 iphone,两个视图都会显示警报,我不希望这样。我希望警报只显示在视图 2 中。因此,如果我停用 MainViewController.m 或视图 1 上的代码,它不再在视图 2 中工作!
任何帮助表示赞赏!
alt text http://www.freezpic.com/pics/98f1465147344642e3870bb599eba689.jpg
这是我的代码:
-(BOOL)canBecomeFirstResponder {
return YES;
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (event.subtype == UIEventSubtypeMotionShake)
{
UIAlertView *alet =[[UIAlertView alloc]initWithTitle:nil message:@"Shake shake shake" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alet show];
[alet release];
self.view.backgroundColor = [UIColor orangeColor];
}
}
【问题讨论】:
-
view 2是Main view的子视图还是兄弟? -
你
UIAccelerometer代理是哪个对象?
标签: iphone cocoa-touch gesture shake