стремительный вертикальный uicollectionview внутри uitableview


я разрабатываю приложение, которое требует от меня, чтобы иметь два вида корма в моем файле viewcontroller - горизонтальные и вертикальные.

uitableviewuicollectionviewuicollectionview

структура такая: файл viewcontroller -> -> первая секция горизонтального -> вторая секция имеет вертикальные .

uitableviewuicollectionview

моя проблема заключается в том, что я не могу сделать второй раздел (который имеет внутри вертикальный ), чтобы иметь надлежащую высоту. он может быть прерван в середине, когда я прокрутки вниз.

важно сказать, что uicollectionview высота ячейки не фиксируется.

uitableviewautomaticdimension

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

my storyboard

редактировать:вот как моя раскадровка выглядит так:это мой основной код файл viewcontroller:

class feedviewcontroller: uiviewcontroller, uitableviewdatasource, uitableviewdelegate {    @iboutlet weak var tableview: uitableview!    var stationarray = array()    override func viewdidload() {        super.viewdidload()d    }    func numberofsections(in tableview: uitableview) -> int {        return 2    }    func tableview(_ tableview: uitableview, titleforheaderinsection section: int) -> string? {        return categories[section]    }    func tableview(_ tableview: uitableview, numberofrowsinsection section: int) -> int {        return 1    }    func tableview(_ tableview: uitableview, cellforrowat indexpath: indexpath) -> uitableviewcell {        if indexpath.section == 0 {            let cell = tableview.dequeuereusablecell(withidentifier: "cell") as! feedhorizontaltableviewcell            *some code*            return cell        } else {            let cell2 = tableview.dequeuereusablecell(withidentifier: "cell2") as! feedverticaltableviewcell            *some code*            cell2.setneedslayout()            return cell2        }    }    func tableview(_ tableview: uitableview, heightforheaderinsection section: int) -> cgfloat {        if section == 1 {            return 50        }        return 0    }    func tableview(_ tableview: uitableview, estimatedheightforrowat indexpath: indexpath) -> cgfloat {        return 500    }    func tableview(_ tableview: uitableview, heightforrowat indexpath: indexpath) -> cgfloat {            if indexpath.section == 0 {                if let cell = tableview.dequeuereusablecell(withidentifier: "cell") {                    return cell.frame.height                }                return 280            } else {                return uitableviewautomaticdimension            }    }}

это мой вертикальный код инструменту uitableviewcell:

class feedverticaltableviewcell: uitableviewcell, uicollectionviewdatasource, uicollectionviewdelegateflowlayout {    @iboutlet weak var collectionview: uicollectionview!    var stations = array() {        didset {            collectionview.reloaddata()        }    }    override func awakefromnib() {        super.awakefromnib()    }    override func setselected(_ selected: bool, animated: bool) {        super.setselected(selected, animated: animated)    }    func collectionview(_ collectionview: uicollectionview, numberofitemsinsection section: int) -> int {        return stations.count    }    func collectionview(_ collectionview: uicollectionview, cellforitemat indexpath: indexpath) -> uicollectionviewcell {        let cell = collectionview.dequeuereusablecell(withreuseidentifier: "feedverticalcell", for: indexpath) as! feedverticalcollectionviewcell        *some code*        return cell    }}