我在UITextField
中设置UITableViewCell
,用于在您编辑字段时模仿Apple自己的通讯录应用中的控件。除了一点UI漏洞外,这些大多数都正常工作。
UITableView
是从XIB创建和加载的UIViewController
的一部分,但文本字段是以tableView:cellForRowAtIndexPath:
编程方式(并成为第一响应者)创建的,因此它可以被添加到单元格中。
这导致轻微的键盘滞后,其中视图控制器被推入堆栈,键盘即将推出。
但是,“联系人”应用会将其全部推送到一起。
如何纠正这种滞后?我已经尝试将文本字段创建和第一响应移动到viewDidLoad
,这没有用。我甚至尝试创建一个layoutSubviews
并在它被推送到堆栈之前从视图控制器外部调用它。
不幸的是,在推送视图之后,文本字段实际上似乎不会成为第一个响应者,直到它成为单元格的一部分。
答案 0 :(得分:4)
您必须让UITextField
成为viewWillAppear
中的第一个响应者。
我在这里创建了一个示例项目: