导航视图推送前UITextField焦点?

时间:2009-01-11 07:02:00

标签: ios cocoa-touch

我在UITextField中设置UITableViewCell,用于在您编辑字段时模仿Apple自己的通讯录应用中的控件。除了一点UI漏洞外,这些大多数都正常工作。

UITableView是从XIB创建和加载的UIViewController的一部分,但文本字段是以tableView:cellForRowAtIndexPath:编程方式(并成为第一响应者)创建的,因此它可以被添加到单元格中。

这导致轻微的键盘滞后,其中视图控制器被推入堆栈,键盘即将推出。

但是,“联系人”应用会将其全部推送到一起。

如何纠正这种滞后?我已经尝试将文本字段创建和第一响应移动到viewDidLoad,这没有用。我甚至尝试创建一个layoutSubviews并在它被推送到堆栈之前从视图控制器外部调用它。

不幸的是,在推送视图之后,文本字段实际上似乎不会成为第一个响应者,直到它成为单元格的一部分。

1 个答案:

答案 0 :(得分:4)

您必须让UITextField成为viewWillAppear中的第一个响应者。 我在这里创建了一个示例项目:

https://github.com/lukaswuerzburger/pushed-keyboard