0

虽然这是一个已回答的问题。该解决方案在 appdelegate 的 rootviewcontroller 中运行良好。如果在视图控制器中编写了相同的方法,该视图控制器从应用程序委托中显示为模态视图控制器,则它不起作用:(。有人可以帮助我吗?

提前致谢!!

4

1 回答 1

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];
}

正常显示模态视图...在模态视图中也会检测到抖动...它经过测试并且可以正常工作!谢谢大家:)

于 2011-11-30T06:32:55.547 回答