我正在向我的 UITableView 添加一个 UISearchBar。与许多应用程序一样,搜索栏最初会隐藏在导航栏后面,直到用户向上滚动,才会显示出来。我使用下面的代码最初隐藏搜索栏,当表格 View 有足够的单元格需要滚动时效果很好,但当表格 View 中只有几个单元格时不隐藏搜索栏。当单元格数量不足以导致表格 View 滚动时,我该如何隐藏搜索栏。
当前代码:
- (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/