kylef
kylef

Reputation: 1066

How can I hide the UITableView that UISearchBar created?

In my iPhone application I have a search bar and search display controller. When the user types something in the search box, the table view loads and is now visible. When a user clicks on a row, I would like to get rid of the tableView and go back to the view where the user originally clicked the search bar. I have searched all over the documentation, I cannot find how to do this anywhere. I have tried [tableView setHidden:YES]; but when the user clicks on the search bar again the tableView never returns.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:NO];
}

Please can someone point me in the right direction.

Upvotes: 4

Views: 2891

Answers (2)

bpapa
bpapa

Reputation: 21497

Why don't you just remove the table view from the View Hierarchy?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   [tableView deselectRowAtIndexPath:indexPath animated:NO];

   // update your model based on the current selection

   [tableView removeFromSuperview];
}

Upvotes: 1

Morion
Morion

Reputation: 10860

you can try smth like

[mySerchDisplayController setActive:NO animated:YES];

Upvotes: 1

Related Questions