隐藏UITableView searchBar会留下空白

KSo*_*oza 1 iphone uitableview uisegmentedcontrol uisearchbar uisearchdisplaycontroller

我有一个UIViewController与标准的UITableView和搜索栏添加了搜索委托.视图在导航栏中有一个分段控件,当用户更改分段控件时我想隐藏searchBar.

我使用的代码是:

- (void)segChange {
    if ([segmentedControl selectedSegmentIndex] == 0) {
        [[[self searchDisplayController] searchBar] setHidden:YES];

        // This does not work:
        [[[self searchDisplayController] searchResultsTableView] setContentOffset:CGPointZero animated:NO]; 

    }
    else {
        [[[self searchDisplayController] searchBar] setHidden:NO];
    }


}
Run Code Online (Sandbox Code Playgroud)

代码隐藏了searchBar,但它在表格视图的顶部留下了一个令人讨厌的空白区域....任何关于如何摆脱它的想法?

谢谢

KSo*_*oza 6

这段代码解决了这个问题:

- (void)segChange {
    if ([segmentedControl selectedSegmentIndex] == 0) {
        [self.myTableView setTableHeaderView:nil];
    }
    else {
        [self.myTableView setTableHeaderView:[[self searchDisplayController] searchBar]];
    }
}
Run Code Online (Sandbox Code Playgroud)