强制键盘变为可见并在视图中保持可见

时间:2012-08-02 16:10:18

标签: objective-c ios uiviewcontroller uitextfield

我希望虚拟键盘在加载时显示在我的视图中,我希望它在视图的生命周期内显示。有一个文本字段,我将其视为此视图的主要控件。

最初,我按照[self.textField becomeFirstResponder]中的-viewWillAppear:跟随我的建议。然后,我提出了一个不同的想法:我重载了UIViewController的-becomeFirstResponder

- (BOOL)becomeFirstResponder
{
    if (self.primeResponder)
        return [self.primeResponder becomeFirstResponder];
    return [super becomeFirstResponder];
}

我没有看到任何隐藏的问题,但是再一次,没有人推荐它。我错过了什么吗?这是一个糟糕的方法吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

在回顾我的旧问题时,我认为现在是时候提供答案了。

它有效并且没有任何重大缺点。

除了特殊的情况外,我对这种方法运气不错。我用它来设置表视图单元格中的文本字段作为主要响应者。在iOS 6中,当视图被推送到导航控制器堆栈时,它没有加载键盘或突出显示文本字段。

有关该问题的解决方案,请参阅In iOS 6, -[UITextField becomeFirstResponder] doesn't work in -viewWillAppear: