如何在已经是NIB的UICollectionViewCell内加载带有自定义单元格的UITable

时间:2017-10-07 14:08:36

标签: ios swift uitableview uicollectionview nib

我有一个UICollection视图,它有两个自定义单元格。 UICollectionViewCell自定义单元格是使用NIB构建的。在其中一个UICollectionViewCell NIB中,我有一个UITableView。但是,UITableView本身具有自定义单元格。所以我的问题是:

如何为UITableView加载自定义单元格而不是UICollectionViewCell NIB?

import UIKit

class HeaderFooterCollectionViewCell: UICollectionViewCell {

    //Tableview
    @IBOutlet weak var tableView: UITableView!

    //Buttons
    @IBOutlet weak var resetButton: UIButton!
    @IBOutlet weak var periodButton: UIButton!
    @IBOutlet weak var undoButton: UIButton!


    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code

        // Register cell classes
        tableView.register(UINib(nibName: "ShotInformationTableViewCell", bundle: nil), forCellReuseIdentifier: "cell")
    }

}

extension HeaderFooterCollectionViewCell: UITableViewDataSource {

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! ShotInformationTableViewCell

        return cell
    }
}

1 个答案:

答案 0 :(得分:1)

let cell =  Bundle.main.loadNibNamed("XIB_File_Name", owner: self, options: nil)?.first as! XIB_Class_Name

几乎在所有情况下,XIB_File_Name == XIB_Class_Name