如何在didSelectRow之后解雇UISearchController?

时间:2016-06-06 00:50:31

标签: ios objective-c uinavigationcontroller uitabbarcontroller uisearchbar

我有两个UITableViewControllers,第一个用于显示表视图数据,第二个用于处理已过滤的搜索。

我遇到的问题是第二个UITableViewController,我已经过滤了结果,当我点击单元格以转换到另一个控制器时,顶部的UISearchBar和键盘仍在那里。

第一个TableViewController上不会发生这种情况。

继承我的故事板,右下角TableViewController处理过滤后的结果。

enter image description here

一旦我离开,看看它看起来是什么样的:

enter image description here

2 个答案:

答案 0 :(得分:0)

可能低于代码可能有所帮助:

在searchBar委托方法中忽略键盘,如

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder];
}

OR

在DidSelectRow方法中的

写下面的代码:

[searchBar resignFirstResponder];

您也可以在DidSelectRow方法中编写[self.view endEditing:YES]

<强> 编辑:

OR

在DidSelectRow方法中写下以下代码:

[[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] endEditing:YES];

答案 1 :(得分:0)

self.searchController.dismiss(animated: true, completion: nil)

在didSelectRow中应该没问题