Open xiuqiao opened 5 years ago
自定义搜索建议的 cell,选中进入后返回导致搜索建议消失
1,在选中建议时会设置 searchBar.text 为 textLabel.text 自定义cell 不一定设置cell默认textLabel
(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath { UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; [tableView deselectRowAtIndexPath:indexPath animated:YES]; self.searchBar.text = cell.textLabel.text;
if ([self.delegate respondsToSelector:@selector(searchViewController:didSelectSearchHistoryAtIndex:searchText:)]) { [self.delegate searchViewController:self didSelectSearchHistoryAtIndex:indexPath.row searchText:cell.textLabel.text]; [self saveSearchCacheAndRefreshView]; } else { [self searchBarSearchButtonClicked:self.searchBar]; } }
2,在返回刷新数据的时候会根据 !self.searchBar.text.lengt 来决定是否隐藏 searchSuggestionView,这个时候 searchBar.text 被设置为空了,,,,
问题描述
自定义搜索建议的 cell,选中进入后返回导致搜索建议消失
原因
1,在选中建议时会设置 searchBar.text 为 textLabel.text 自定义cell 不一定设置cell默认textLabel
pragma mark - UITableViewDelegate
(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath { UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; [tableView deselectRowAtIndexPath:indexPath animated:YES]; self.searchBar.text = cell.textLabel.text;
if ([self.delegate respondsToSelector:@selector(searchViewController:didSelectSearchHistoryAtIndex:searchText:)]) { [self.delegate searchViewController:self didSelectSearchHistoryAtIndex:indexPath.row searchText:cell.textLabel.text]; [self saveSearchCacheAndRefreshView]; } else { [self searchBarSearchButtonClicked:self.searchBar]; } }
2,在返回刷新数据的时候会根据 !self.searchBar.text.lengt 来决定是否隐藏 searchSuggestionView,这个时候 searchBar.text 被设置为空了,,,,