如何使用标题水平滚动集合视图

时间:2018-12-19 09:39:50

标签: ios uicollectionview

我有标头的collectionview。

This is the image

在此,我已在UICollectionReusableView中将问题显示为标题,并在collectionviewcell中显示了答案。 所以图像是这种方式。但是我只需要水平滚动collectionview。

但是那个时候它将变成:-

This is the header.

This is the cell.

但是我需要在第一个屏幕标题及其答案中使用它。当用户滚动时,则需要在标题及其答案中显示第二个问题。如何实现?

目前我的代码如下:-

extension NH_DummyDataViewController: UICollectionViewDataSource {


    func numberOfSections(in collectionView: UICollectionView) -> Int {

        return self.questionViewModel.numberOfSections()
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return self.questionViewModel.numberOfRowsIn(section: section)

    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

        let cell = verticalCollectionView.dequeueReusableCell(withReuseIdentifier: "NH_Headercell", for: indexPath)as!  NH_Headercell

    //    cell.options.text = "hello"

    //    let optionModel = self.questionViewModel.datafordisplay(atindex: indexPath)

        cell.setReviewData(reviews:self.questionViewModel.datafordisplay(atindex: indexPath))


        return cell
    }


    func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {


        let  firstheader: NH_QuestionHeaderCell = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "NH_QuestionHeaderCell", for: indexPath ) as! NH_QuestionHeaderCell


        firstheader.setReviewData(reviews:questionViewModel.titleForHeaderInSection(atsection:indexPath.section))

        return firstheader
    }
}

// MARK: UICollectionViewDelegateFlowLayout

extension NH_DummyDataViewController: UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {


        return CGSize(width: collectionView.frame.width, height: 100)
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {


        return CGSize(width: collectionView.frame.width, height: 100)
    }
}

1 个答案:

答案 0 :(得分:0)

设置“收藏夹”视图滚动方向为水平并设置分页

yourCollectionview.pagingEnabled = true