如何在整个屏幕上滚动表格视图

时间:2019-05-21 15:59:48

标签: swift xcode uitableview tableview

我想在视图控制器中滚动并显示整个table view

像这样,我希望collection view在滚动时向上移动,而table view的内容将显示在整个屏幕上。 enter image description here

但是我现在得到的是表格视图在表格视图部分内滚动,并且集合视图没有向上移动。

这是我的视图控制器的层次结构,我在Collection View内有Table ViewScroll View

enter image description here

我已经检查了this postthis post,但是没有用。

2 个答案:

答案 0 :(得分:2)

您可以在{strong> collectionView 中添加controller's,而不是在view collectionView内分别添加tableView's headerView

1。。创建一个自定义UIView-HeaderView,其中将包含一个UICollectionView

enter image description here

class HeaderView: UIView {
    @IBOutlet weak var collectionView: UICollectionView!

    //Add collectionView dataSource and delegate methods here
}

2。。将以上创建的HeaderView作为tableView's headerView添加到您的controller中。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        //Here.....
        if let headerView = Bundle.main.loadNibNamed("HeaderView", owner: self, options: nil)?.first as? HeaderView {
            self.tableView.tableHeaderView = headerView
        }
    }

    //add UITableViewDataSource and UITableViewDelegate methods here...
}

故事板中-在tableView中添加controller并将其-top, bottom, left and right constraints固定到controller's view。 / p>

enter image description here

输出:

enter image description here

答案 1 :(得分:0)

您可以尝试将集合视图放置在单元格中,并将该单元格作为表格视图的第一行。