iPhone中的震动检测,从appdelegate呈现为模态视图控制器?

时间:2011-11-24 05:14:45

标签: ios4 uiviewcontroller modalviewcontroller uiresponder

虽然这是一个已回答的问题here。该解决方案在appdelegate的rootviewcontroller中正常工作。如果相同的方法写在一个viewcontroller中,它作为一个来自app delegate的modalviewcontroller呈现它不起作用:(。有人可以帮助我。

提前感谢!!

1 个答案:

答案 0 :(得分:1)

我突破了一天后得到了答案! (也许是其他人的小菜一碟)。

这里是解决方案:

在我们提供模态视图控制器的根视图控制器或视图控制器中,我们必须检测抖动:

- (void) viewWillAppear:(BOOL)animated
{
    [self becomeFirstResponder];
    [super viewWillAppear:animated];
}
- (void) viewWillDisappear:(BOOL)animated
{
    //[self resignFirstResponder];
    /*dont resign first responder on view disappear */  
    [super viewWillDisappear:animated];
}
- (BOOL)canBecomeFirstResponder
{ 
       return YES;
}

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
   if ( event.subtype == UIEventSubtypeMotionShake )
    {
    // Put in code here to handle shake
     }

   if ( [super respondsToSelector:@selector(motionEnded:withEvent:)] )
      [super motionEnded:motion withEvent:event];
}

正常显示模态视图...在模态视图中也会检测到抖动... 它的测试和工作!! 谢谢大家:))