becomeFirstResponder似乎只是第一次摇动手势

时间:2009-08-15 15:07:14

标签: iphone

通过在我的UIViewController中执行此操作,我正在使我的应用程序与握手兼容:

- (void)viewWillAppear:(BOOL)animated
{
    [self.view becomeFirstResponder];
    [super viewWillAppear:animated];
}

问题是,当我转到另一个视图时(我正在使用“Utility App”模板,它具有翻转视图和根视图控制器来管理它们)当我回来时,摇动手势停止工作。

我看到调用了viewWillAppear方法,看起来第二次视图似乎没有重新获得第一响应者状态。

2 个答案:

答案 0 :(得分:2)

谁知道..你必须在becomeFirstResponder而不是viewDidAppear拨打viewWillAppear

答案 1 :(得分:1)

是的,这确认了我...我试图将控制器设置为应用程序委托的firstResponder。同时,我发现调试将这个日志语句用于战略方法非常有用。

NSLog(@"%s: I %s first responder! (%@)", __FUNCTION__, [self isFirstResponder] ? "am" : "am not", self);

另外,为了允许我在任意时间触发它,我启用了“方向”方法并将其放在那里。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
NSLog(@"%s: I %s first responder! (%@)", __FUNCTION__, [self isFirstResponder] ? "am" : "am not", self);
return YES;
}