【发布时间】:2012-08-27 08:43:23
【问题描述】:
我有一个带有 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];
我哪里错了?提前致谢。
【问题讨论】:
-
[self.searchDisplayController setActive:NO animated:YES];
-
嘿,谢谢@jussi .. 它有效!!!但它为什么不自己解散呢?这就像我们在强制 searchviewcontroller 关闭。
-
因为有些人想在解雇控制器之前存储一些信息。我会将其发布为答案。
标签: objective-c ios uitableview uisearchbar uisearchdisplaycontroller