【发布时间】:2010-09-30 18:08:01
【问题描述】:
我在UITableViewCell 中设置了UITextField,用于在您编辑字段时模仿Apple 自己的联系人应用程序中的控件。这一切大部分工作正常,除了一点 UI 错误。
UITableView 是从 XIB 创建和加载的 UIViewController 的一部分,但文本字段是在 tableView:cellForRowAtIndexPath: 中以编程方式创建的(并成为第一响应者),因此可以将其添加到单元格中。
这会导致轻微的键盘延迟,其中视图控制器被推入堆栈,键盘很快就会出现。
但是,通讯录应用程序将所有内容合二为一。
如何纠正这种滞后?我尝试将文本字段创建和第一响应者移动到viewDidLoad,但这没有帮助。我什至尝试创建一个layoutSubviews 并从视图控制器外部调用它,然后再将它推入堆栈。
不幸的是,在它成为单元格的一部分之前,似乎文本字段实际上成为第一响应者——在视图被推送之后。
【问题讨论】:
-
您能详细解释一下视图控制器何时被压入堆栈吗?在我对联系人应用程序的简要检查中,我没有看到键盘与视图控制器推送同时显示。当您按下“编辑”时,所有单元格都会动画到编辑模式,点击一个单元格会弹出键盘。推送视图控制器在哪里?
标签: ios cocoa-touch