1

我有一个带有标准 UITableView 的 UIViewController 和添加了搜索委托的搜索栏。视图在导航栏中有一个分段控件,当用户更改分段控件时,我想隐藏 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];
    }


}

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

谢谢

4

2 回答 2

6

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

- (void)segChange {
    if ([segmentedControl selectedSegmentIndex] == 0) {
        [self.myTableView setTableHeaderView:nil];
    }
    else {
        [self.myTableView setTableHeaderView:[[self searchDisplayController] searchBar]];
    }
}
于 2010-11-11T09:38:27.990 回答
1

而不是隐藏分段控件尝试将其框架设置为CGRectZero

于 2010-11-10T20:16:36.697 回答