1

TableView在底部有一个搜索按钮。我希望搜索按钮SearchBar在顶部弹出并成为焦点。否则,应该没有SearchBar显示。

在 上方放置一个搜索栏很容易TableView,但是有没有办法用动画隐藏/显示它?

谢谢。

4

2 回答 2

3

这对我有用。希望能帮助到你。

在您的 viewWillAppear 中调用 [self hideSearchBar](这将最初隐藏搜索栏)。

您的搜索按钮应具有以下操作:

- (IBAction)searchIconButtonClicked {
    if (self.searchDisplayController.isActive || (self.tableView.contentOffset.y < 44)) {
        if (self.searchDisplayController.isActive) {
            self.searchDisplayController.searchBar.text = nil;
            [self.searchDisplayController setActive:NO animated:YES];
            [tableView reloadData];
        }
        [self hideSearchBar];
    } else {
        [self.patientTableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
    }
}

- (void)hideSearchBar {
    //NSLog(@"Hiding SearchBar");        
    [self.tableView setContentOffset:CGPointMake(0,44)];
}
于 2011-12-21T03:40:27.297 回答
1

您是否尝试过使用该-[UITableView scrollRectToVisible:animated:]方法?我认为UISearchBar视图通常只是表格上的标题视图,因此您应该能够要求表格视图向上滚动以显示搜索栏。

于 2011-11-06T19:58:26.593 回答