1

我有一个包含 tableView 的 viewController;我在表格的标题中有一个 UIView,并将一个 searchDisplayController 以及一个分段控件拖到了视图中。(出于某些原因,我不想使用示波器,以防您想知道)。现在我的问题是,即使用户在 searchBar 中输入,cellForRow 中的此检查 if (tableView==self.searchDisplayController.searchResultsTableView) 也会失败。我不知道为什么??!!据我所知,当您将控制器拖到视图中时,所有代表等都会自动连接。仅当用户按下键盘上的搜索按钮然后稍微滚动表格时,检查才为真,我知道这不是它应该如何工作的!?

任何人都可以阐明这里可能发生的事情吗?这让我疯狂!

非常感谢

朱尔斯

4

2 回答 2

9

您也可以使用self.searchDisplayController.active,例如:

if (self.searchDisplayController.active) {
    return [searchResultArray count];
} else {
    return [regularDataArray count];
}

希望这可以帮助!但是,如果您尝试以正确的方式执行此操作,则应该有一个单独的数据源,一个用于搜索,一个用于默认版本。

于 2013-11-19T19:20:57.877 回答
1

我想不通,所以我用另一种方式做了。使用 BOOL isSearchTable 并将其设置在 willShowSearchResultsTableView 和 willHideSearchResultsTableView 中。

于 2012-06-27T10:05:09.657 回答