在viewdidload
方法中,我通过以下方式将我的一个文本字段指定为第一响应者。
[txtUsername becomeFirstResponder];
加载视图后,文本字段将变为活动状态并显示键盘。但是当我尝试在键盘上打字时,它没有响应。但是当我触摸文本字段时,键盘响应正常。我不知道这有什么问题。任何人都可以给我一个建议吗?
先谢谢 - Abilash
答案 0 :(得分:2)
在becomeFirstResponder
中调用viewDidLoad
不是一个好主意,因为视图可能甚至不在屏幕上,也不是视图层次结构的一部分。
请尝试在becomeFirstResponder
中调用viewDidAppear:
:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[txtUsername becomeFirstResponder];
}
答案 1 :(得分:0)
检查viewDidLoad中是否有任何Outlets构造,在将tetUsername设置为第一响应者后,可能会调用其中一些。 此外,Mike Weller的回答是这类问题最常见的情况。