在UITableView中没有很多项的contentOffset

时间:2015-02-11 04:14:55

标签: ios uitableview

我正在为我的UITableView添加一个UISearchBar。与许多应用程序一样,搜索栏最初将隐藏在导航栏后面,直到用户向上滚动,显示它。我使用下面的代码来初始隐藏搜索栏,当表视图有足够的单元格需要滚动时,它可以很好地工作,但是当表视图中只有几个单元格时,它不会隐藏栏。当单元格数量不足以导致表格视图滚动时,如何隐藏搜索栏。

当前代码:

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    if (!self.layedOutHeader) {
        CGPoint contentOffset = self.alertsTableView.contentOffset;

        if (contentOffset.y == -64 || contentOffset.y == 0) {
            contentOffset.y += CGRectGetHeight(self.alertsTableView.tableHeaderView.frame);
            self.alertsTableView.contentOffset = contentOffset;
        }

        self.layedOutHeader = YES;
    }

}

以下是一个示例,说明当只有少数单元格存在时,搜索栏不会隐藏: enter image description here

1 个答案:

答案 0 :(得分:1)

当您没有足够的单元格时,尝试添加具有所需高度的tableFooterView以填充屏幕。