ios - UICollectionViewCellawakeFromNib 从未被调用,即使 registerNib 被调用

标签 ios swift uicollectionview uikit uicollectionviewcell

下面的代码试图创建一个 UICollectionView在自定义 View 中。自 UICollectionView不是在 Storyboard 中创建的,这意味着创建自定义 UICollectionViewCells在 XIB 中。

然而,awakeFromNib自定义函数从不调用 UICollectionViewCell ,这会导致呈现 UICollectionView 的问题.

如何解决这个问题?

自定义 View .swift:

class CustomView : UIView, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {

    @IBOutlet weak var collectionView: UICollectionView!

    private func doInit() {
        if let nibsView = NSBundle.mainBundle().loadNibNamed("CustomCellView", owner: self, options: nil) as? [UIView] {
            let nibRoot = nibsView[0]
            self.addSubview(nibRoot)
            nibRoot.frame = self.bounds

            // Register UICollectionViewCell NIB
            collectionView.registerNib(UINib(nibName: CustomCellNib, bundle: nil), forCellWithReuseIdentifier: CustomCellID)
        }
    }
}

CustomCell.swift:
class CustomCell: UICollectionViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()
        doInit(frame)
    }

}

最佳答案

将您的代码行更改为

collectionView.register(UINib(nibName: CustomCellNib, bundle: nil), forCellWithReuseIdentifier: CustomCellID)

关于ios - UICollectionViewCellawakeFromNib 从未被调用,即使 registerNib 被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37336833/

相关文章:

swift - 无法将变量设置为文本字段的值

ios - 类型 'StartMorgagesViewPage2' 的值没有成员 'pdfData2'

ios - 在 Collection View 中为 UImageView 添加标题标签

ios - 根据日期对数据进行分段以便在 Collection View 中使用的有效方法

ios - 初始化 GKMatchMakerViewController 时出错

iphone - 如何编写谓词以仅检索在 iphone 中具有偶数属性的实体

Ios水平 ScrollView 和自动布局问题

swift - 如果轨道不是从头开始的,如何使用循环(缓冲类型 = .always in AKPlayer )

ios - 将 UICollectionViewCell 拖动到另一个元素上

ios - 如何获取用户管理的 Facebook 页面列表