以编程方式重置UISearchbar

S. *_*aun 7 iphone uisearchbar ios

是否有可能以编程方式重置具有searchDisplayController的UISearchbar,该活动且已包含文本?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    if (tableView == self.searchDisplayController.searchResultsTableView) {
       searchDisplayController.searchResultsTableView.hidden = YES;
       searchBar.showsCancelButton = NO;
       [searchBar resignFirstResponder];
    }
}
Run Code Online (Sandbox Code Playgroud)

此解决方案正常运行,但searchBar中仍有文本.如果我添加这些代码行:

searchBar.text = @"";
Run Code Online (Sandbox Code Playgroud)

总是留下黑色透明视图.

有解决方案吗

LJ *_*son 6

你去吧.这是用户点击取消时调用的委托方法.如果您想以不同方式连接它,只需将搜索栏声明为插座并引用它即可.无论如何:

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
    searchBar.text = @"";
    [searchBar resignFirstResponder];   
}
Run Code Online (Sandbox Code Playgroud)