我有一个带有 tableview 和 searchbar 的父类,它是 tableview 控制器的子类。searchBar 和 searchdisplaycontroller 的委托设置在从 UISearchdisplaycontroller 继承的单独类中。tableview 和 searchbar 的数据源和委托在此类中单独处理。这些课程在 ARC 下。
因此,当用户点击搜索时,控件会从 FilesListController(父)类转移到此类。现在,当用户点击取消按钮时,在此类中设置的搜索栏委托,即
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
被调用,但没有达到解除全屏搜索表视图并返回父视图控制器的目的。但是,如果我不在搜索类中编写此委托,它可以正常工作。我在 xib 和调用时设置了搜索栏代表:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
像这样:
self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
我哪里错了?提前致谢。