Cra*_*lot 7 uikit ios uicollectionview uicollectionviewcell swift
下面的代码尝试UICollectionView在自定义视图中创建一个。由于UICollectionView不是在 Storyboard 中创建的,这意味着UICollectionViewCells在 XIB 中创建自定义。
但是,awakeFromNib从未为自定义调用该函数UICollectionViewCell,这会导致呈现UICollectionView.
如何解决这个问题?
自定义视图.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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
CustomCell.swift:
class CustomCell: UICollectionViewCell {
override func awakeFromNib() {
super.awakeFromNib()
doInit(frame)
}
}
Run Code Online (Sandbox Code Playgroud)
将您的代码行更改为
collectionView.register(UINib(nibName: CustomCellNib, bundle: nil), forCellWithReuseIdentifier: CustomCellID)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3309 次 |
| 最近记录: |