Табличное представление внутри представления коллекции - PullRequest
0 голосов
/ 04 июня 2018

У меня есть представление коллекции, и каждая ячейка представления коллекции будет иметь представление таблицы, в котором будут разные данные для каждой ячейки представления коллекции.Представление коллекции выполнено с использованием раскадровки и работает нормально, но я не могу заставить UITableView работать внутри него.Код представления коллекции ниже, и любая помощь приветствуется.В идеале это техника, которая позволяет мне использовать раскадровку для настройки ячейки табличного представления, и я использую Swift 4.

extension StoryboardViewController: UICollectionViewDelegate {
   func collectionView(_ collectionView: UICollectionView, didSelectItemAt 
       indexPath: IndexPath) {
          print("Selected Cell #\(indexPath.row)")
       }
    }

extension StoryboardViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 6
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: String(describing: "CollectionViewCell"), for: indexPath) as! StoryboardCollectionViewCell
        cell.label.text = "Cell #\(indexPath.row)"
        return cell
    }

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        print("Current centered index: \(String(describing: centeredCollectionViewFlowLayout.currentCenteredPage ?? nil))")
    }

    func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
        print("Current centered index: \(String(describing: centeredCollectionViewFlowLayout.currentCenteredPage ?? nil))")
    }
}

И я хочу поместить в нее табличное представление (список) примерно так:

Storyboard layout

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Ваш UICollectionViewCell класс должен подтверждать протоколы, UITableViewDelegate и UITableViewDataSource

import UIKit
class CollectionViewCell: UICollectionViewCell,UITableViewDelegate,UITableViewDataSource {

    //MARK: TableViewDelegateAndDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        //Configure your cell here
        return UITableViewCell()
    }
}

Наконец, не забудьте назначить TableView DataSource и Delegate в вашей раскадровке

0 голосов
/ 04 июня 2018
Используемый класс

UICollectionViewCell должен соответствовать протоколам UITableViewDelegate и UITableViewDataSource, которые будут инициализировать ячейки в табличном представлении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...