如何在 Swift 中向上滚动整个表格视图?

Posted

技术标签:

【中文标题】如何在 Swift 中向上滚动整个表格视图?【英文标题】:How to scroll up an entire table view in Swift? 【发布时间】:2016-08-06 19:48:36 【问题描述】:

我在顶部有一个水平滚动的分页collectionview,在底部有一个tableview,如下所示:

我想要实现的是,当用户向上滚动表格视图时,我希望整个页面向上滚动。目前,向上滚动时,表格视图被限制在底部空间。很多应用程序都有这种模式,但 Fiverr 应用程序就是一个例子,这里是一个屏幕截图。第二张图是我开始向上滚动的时候:

我是 Swift 的初学者,所以我什至不知道要搜索什么关键字。完成此任务的最简单方法是什么?

【问题讨论】:

看来我得把collectionview放到tableview里面了? 【参考方案1】:

我认为您想将所有视图放入 UIScrollView。

您还可以将 UICollectionView 放入表格的标题视图中。但是如果你在 UITableView 下面有更多的组件,我发现把整个东西放到 UIScrollView 中会更容易。

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 
    let headerView = UIView()
    //build header view here
    headerView.addSubview(collectionView)
    return headerView


override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
    //Return the height of the headerview.
    return height

编辑回答评论:)

【讨论】:

谢谢。我认为您的第一个建议对我来说应该没问题,因为我现在只有两个组件。您能帮我如何将集合视图放在 tableview 标题中吗? 嗯好的,那么我如何将我的集合视图放在表格视图标题中? 在viewForHeaderinSection函数中,可以将collectionView添加到headerView中。

以上是关于如何在 Swift 中向上滚动整个表格视图?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift ScrollView、UITableView、滚动区域

有啥方法可以知道用户是向上还是向下滚动表格视图?在swift IOS中[重复]

如何在swift中逐渐隐藏状态栏

当用户向下滚动后向上滚动时,如何在表格视图中显示搜索框?

如何在快速向上和向下滚动表格时停止自动重新加载表格视图? [关闭]

更改表格宽度时,Swift Tableview 向上移动