无法关闭"搜索"视图

tec*_*vvy 6 objective-c uitableview uisearchbar uisearchdisplaycontroller ios

我有一个带有tableview和searchbar的父类,它是tableview控制器的子类.searchBar和searchdisplaycontroller的代理设置在从UISearchdisplaycontroller继承的单独类中.tableview和searchbar的数据源和委托分别在此类中处理.这些课程属于ARC.

因此,当用户点击搜索时,控件从FilesListController(父)类转移到此类.现在,当用户点击取消按钮时,搜索栏委托在此类中设置即

- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar  
Run Code Online (Sandbox Code Playgroud)

已被调用,但不用于解除全屏搜索表视图并返回到parentviewcontroller.但是,如果我不在搜索类中编写此委托,则它可以正常工作.我已经在xib和调用中设置了搜索栏委托:

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
Run Code Online (Sandbox Code Playgroud)

像这样:

self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

我哪里错了?提前致谢.

jus*_*ssi 13

如果你想用SearchBarController解雇一个UISearchBar,只需使用这个代码:

[self.searchDisplayController setActive:NO animated:YES];
Run Code Online (Sandbox Code Playgroud)