使用becomeFirstResponder导致取消按钮不起作用

时间:2014-01-08 21:36:24

标签: ios uisearchbar uisearchdisplaycontroller becomefirstresponder

我有一个UISearchDisplayController(searchDisplayCtr)和一个UISearchBar(searchBar)。当我点击右侧字母滚动中的搜索图标时,我试图将焦点放在搜索栏上并调出键盘。如果我包括,

[self.searchDisplayCtr setActive:YES];
[self.searchDisplayCtr.searchBar becomeFirstResponder];

它会调出键盘并选择搜索栏,但取消按钮不能始终如一地工作。我已经尝试在searchDisplayControllerWillEndSearch中重新启动第一响应者,将活动设置为NO和两者,但它没有帮助。仅当尚未单击字母滚动上的其他字母时,取消按钮才有效。

1 个答案:

答案 0 :(得分:0)

显然有必要在设置第一响应者之前向上滚动到表的顶部。代码最终成为

[tableView setContentOffset:CGPointMake(0, 0) animated:NO];
[self.searchBar  becomeFirstResponder];