我有一个用于从远程服务器搜索数据的模式窗口——它有一个 UITextField 作为窗口导航栏的 titleControl,以及一个填充窗口的表格视图(显然显示结果)。现在我想要做的是当用户滚动表格视图时,立即让文本字段失去焦点(辞职第一响应者),以便键盘关闭并且用户有更多空间滚动表格视图(它向下延伸以填补空白通过键盘)。基本上与使用 UISearchDisplayController(或其他任何名称)时的功能相同。
所以我有这个代码来检测tableview的滚动事件:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[searchField resignFirstResponder];
}
哪个工作正常。但是,问题在于,一旦用户滚动表格并且文本字段失去焦点,您就无法通过再次点击它来将焦点归还给它。所以基本上,一旦我打电话,[resignFirstResponser]
我就再也无法恢复键盘并编辑文本字段值了。有人知道为什么吗?我是否需要[becomeFirstResponder]
在某处明确调用该字段?因为我认为在点击该字段时会自动处理?
另外值得注意的是-我在[becomeFirstResponder]
第一次调用模态窗口时调用了文本字段,因此该字段是预先聚焦的。这和它有什么关系吗?
如果有人愿意,我可以发布更多代码,但我不认为我在使用文本字段做任何不寻常的事情。
谢谢你的帮助!