как сделать горизонтальный вид коллекции внутри таблицы с помощью кнопки «еще» - PullRequest
2 голосов
/ 05 февраля 2020

Я хочу реализовать что-то похожее на изображения ниже, но всякий раз, когда я меняю направление прокрутки коллекций в вертикальное положение, когда вижу больше кликов, возникает небольшая ошибка анимации, из-за этого я решил найти правильный способ реализации

enter image description here

enter image description here

любая помощь будет оценена

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

class TableCell:UITableViewCell{
    private let collectionCell = "MyCell"
    var isVertical = false

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: .default, reuseIdentifier: reuseIdentifier)
        self.backgroundColor = .clear
        setCollection()
    }
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    public lazy var collection: UICollectionView = {
        let layout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 8, left: 16, bottom: 8, right: 16)
        layout.minimumLineSpacing = 16
        layout.minimumInteritemSpacing = 8
        layout.scrollDirection = .horizontal
        let collection = UICollectionView.init(frame: .zero, collectionViewLayout: layout)
        collection.showsVerticalScrollIndicator = false
        collection.showsHorizontalScrollIndicator = false
        collection.translatesAutoresizingMaskIntoConstraints = false
        collection.backgroundColor = .clear
        return collection
    }()

    func setCollection(){
        self.addSubview(collection)
        collection.dataSource  = self
        collection.delegate = self
        self.collection.register(Collection.self, forCellWithReuseIdentifier: collectionCell)
        addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[v0]-0-|", options: NSLayoutConstraint.FormatOptions(), metrics: nil, views: ["v0":collection]))
        addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options:
            NSLayoutConstraint.FormatOptions(), metrics: nil, views: ["v0":collection]))
    }
}
...