我希望虚拟键盘在加载时显示在我的视图中,我希望它在视图的生命周期内显示。有一个文本字段,我将其视为此视图的主要控件。
最初,我按照[self.textField becomeFirstResponder]
中的-viewWillAppear:
跟随我的建议。然后,我提出了一个不同的想法:我重载了UIViewController的-becomeFirstResponder
。
- (BOOL)becomeFirstResponder
{
if (self.primeResponder)
return [self.primeResponder becomeFirstResponder];
return [super becomeFirstResponder];
}
我没有看到任何隐藏的问题,但是再一次,没有人推荐它。我错过了什么吗?这是一个糟糕的方法吗?请帮忙。
答案 0 :(得分:0)
在回顾我的旧问题时,我认为现在是时候提供答案了。
它有效并且没有任何重大缺点。
除了特殊的情况外,我对这种方法运气不错。我用它来设置表视图单元格中的文本字段作为主要响应者。在iOS 6中,当视图被推送到导航控制器堆栈时,它没有加载键盘或突出显示文本字段。
有关该问题的解决方案,请参阅In iOS 6, -[UITextField becomeFirstResponder] doesn't work in -viewWillAppear:。