使用becomeFirstResponder导致取消按钮不起作用
-
21-12-2019 - |
题
我有一个 UISearchDisplayController
(searchDisplayCtr) 和一个 UISearchBar
(搜索栏)。我试图将焦点放在搜索栏上,并在单击右侧字母滚动中的搜索图标时调出键盘。如果我包括在内,
[self.searchDisplayCtr setActive:YES];
[self.searchDisplayCtr.searchBar becomeFirstResponder];
它会调出键盘并选择搜索栏,但取消按钮无法一致工作。我尝试过辞去第一响应者的职务,将活动设置为“否”,并且都在 searchDisplayControllerWillEndSearch
, ,但这没有帮助。仅当尚未单击字母卷轴上的其他字母时,取消按钮才会起作用。
解决方案
显然有必要在设置第一响应者之前向上滚动到表格顶部。代码最终是
[tableView setContentOffset:CGPointMake(0, 0) animated:NO];
[self.searchBar becomeFirstResponder];
不隶属于 StackOverflow