我有一个视图控制器,它的viewDidLoad方法在其关联视图中包含的文本字段(电子邮件)上调用becomeFirstResponder:
-(void) viewDidLoad {
[email becomeFirstResponder];
}这个视图控制器是通过将其推送到导航控制器的堆栈中来加载的。上面的代码在第一次运行时效果很好。
然而,稍后在应用程序中,当我想要返回到这个视图控制器时,键盘不会自动出现(这是在使用popToViewController:animated时)。相反,用户必须手动将焦点设置到键盘的文本字段,以便在popToViewController: appear...My已加载相关视图控制器后viewDidLoad不会被调用?
如何解决此问题?
发布于 2011-08-24 06:30:10
试着把它放到viewWillAppear中。viewDidLoad通常只会运行一次,除非您特别指定它。
- (void)viewWillAppear:(BOOL)animated {
[email becomeFirstResponder];
}发布于 2011-08-24 06:30:11
viewDidLoad仅在第一次调用时调用。如果您希望在每次出现视图时都运行某些内容,请使用viewWillAppear。
https://stackoverflow.com/questions/7168231
复制相似问题