首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >becomeFirstResponder未触发

becomeFirstResponder未触发
EN

Stack Overflow用户
提问于 2011-08-24 06:18:13
回答 2查看 813关注 0票数 4

我有一个视图控制器,它的viewDidLoad方法在其关联视图中包含的文本字段(电子邮件)上调用becomeFirstResponder:

代码语言:javascript
复制
-(void) viewDidLoad {
   [email becomeFirstResponder];
}

这个视图控制器是通过将其推送到导航控制器的堆栈中来加载的。上面的代码在第一次运行时效果很好。

然而,稍后在应用程序中,当我想要返回到这个视图控制器时,键盘不会自动出现(这是在使用popToViewController:animated时)。相反,用户必须手动将焦点设置到键盘的文本字段,以便在popToViewController: appear...My已加载相关视图控制器后viewDidLoad不会被调用?

如何解决此问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-24 06:30:10

试着把它放到viewWillAppear中。viewDidLoad通常只会运行一次,除非您特别指定它。

代码语言:javascript
复制
- (void)viewWillAppear:(BOOL)animated {

            [email becomeFirstResponder];

}
票数 3
EN

Stack Overflow用户

发布于 2011-08-24 06:30:11

viewDidLoad仅在第一次调用时调用。如果您希望在每次出现视图时都运行某些内容,请使用viewWillAppear

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7168231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档