隐藏UITableView searchBar会留下空白

时间:2010-11-10 17:53:46

标签: iphone uitableview uisearchbar uisegmentedcontrol uisearchdisplaycontroller

我有一个带有标准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,但它在表格视图的顶部留下了一个令人讨厌的空白区域....任何关于如何摆脱它的想法???

由于

2 个答案:

答案 0 :(得分:6)

此代码解决了问题:

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

答案 1 :(得分:1)

尝试将其框架设置为CGRectZero

,而不是隐藏分段控件