滚动 UITableView 标题?

Posted

技术标签:

【中文标题】滚动 UITableView 标题?【英文标题】:Scroll UITableView Header? 【发布时间】:2012-01-20 23:45:26 【问题描述】:

我有一个自定义 UITableView 标题,我希望能够在表格顶部上方滚动。通常标题会粘在表格的顶部,难道不能以某种方式改变滚动能力,以便它可以超越它并与表格中的单元格一起滚动吗?

谢谢。

【问题讨论】:

我不确定你的意思。您希望标题是静态的并且在用户滚动表格时始终显示?或者您是否希望标题与表格一起滚动并在用户向下滚动时消失? 我希望标题随着表格滚动,所以如果用户向下滚动,它会从屏幕顶部消失。 【参考方案1】:

如果这是您想要的行为,只需将header 作为第一个单元格的内容。可以自定义您想要的任何特定单元格。 UITableViewDelegatedocumentaion 将在这方面为您提供帮助。 PS:使用tableView header 的重点是让它粘在窗口的顶部。

编辑:如果你必须按照你想要的方式做,那么你可以试试这个:通过设置它的contentOffset 将你的tableView 向下移动一点。例如:myTableView.contentOffset= CGPointMake(0,heightOfYourView)。现在在顶部添加yourView

【讨论】:

我明白这一点。我这样做了,但是因为我的表获取了核心数据记录,它导致了一大堆问题,我一直在努力避免这些问题。所以我一直在寻找一种替代解决方案,让这个自定义视图与表格一起使用,但实际上并不是作为单元格索引的端口。 好吧,我已经编辑了我的答案。现在就试试。另外,您应该在问题中提到这一点。 您的标题应位于与核心数据行不同的 tableview 部分。这将确保第一个核心数据行仍然是索引 0 Aqs,我已经尝试过了,但它的差异为零。抱歉,我之前的问题也没有提及我的情况。【参考方案2】:
myTableView.tableViewHeader = myCustomTableHeaderView;

这会将myCustomTableHeaderView 设置为表格视图的标题,并且它会随着表格视图滚动。

【讨论】:

【参考方案3】:

通过为索引0 的部分实现tableView:viewForHeaderInSection:,您可以将标题作为第一个部分,当它滚动时应该消失。这样就不是整个UITableView的header了。

【讨论】:

【参考方案4】:

如果整张表只有一个表头,就不能设置tableHeaderView属性吗?

【讨论】:

我有一个部分,整个表都有一个标题。我已将视图添加到标题中,但通常标题会粘在表格的顶部,我希望它与单元格一起滚动。还是我不明白?【参考方案5】:

您可能和我一样一直在搜索 tableHeaderView 属性。请参阅this SO question 了解更多信息。

【讨论】:

【参考方案6】:

您应该使用 Grouped TableView 样式并在您的 ViewDidLoad 方法中添加以下代码行:

myTableView.backgroundColor=[UIColor clearColor];
myTableView.opaque=NO;
myTableView.backgroundView=nil;

同样在nib文件中,你应该清除分组表的背景颜色;

【讨论】:

【参考方案7】:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
    CGFloat sectionHeaderHeight = 40;//Change as per your table header hight
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) 
        scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
     else if (scrollView.contentOffset.y>=sectionHeaderHeight) 
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    

【讨论】:

以上是关于滚动 UITableView 标题?的主要内容,如果未能解决你的问题,请参考以下文章

使用 sectionForSectionIndexTitle 在 UITableView 中快速滚动

在 UITableView 中滚动时移除 UIView

iOS:滚动 UITableView 时应用程序崩溃/内存被填充

在 UITableView Swift 中滚动时图片变得混合

如何检测scrollView的滚动方向?

向上滚动 UITable 后的 Swift 5 调用函数