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

当前代码:

- (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;
    }

}


这是一个示例,说明当只有几个单元格时,搜索栏没有隐藏的情况:

最佳答案

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

关于ios - UITableView中没有很多项的contentOffset,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28446512/

10-12 14:54