2
我尝试在UIView中使用CollectionView时出现问题。UICollectionView到Swift中的UIView
这是我的观点的代码示例。
class CampanasView: UIView, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var collectionView: UICollectionView!
class func create() -> CampanasView {
let nib = UINib(nibName: "CampanasView", bundle: nil)
let view = nib.instantiate(withOwner: self, options: nil)[0] as? CampanasView
//if you use xibs:
view?.collectionView.register(UINib(nibName: "CampanaCell", bundle: nil), forCellWithReuseIdentifier: "CampanaCell")
view?.collectionView.reloadData()
return view!
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 20
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CampanaCell", for: indexPath) as! CampanaCell
return cell
}
}
这是厦门国际银行
在我的ViewController我有这样的代码添加到UIView的视图控制器
var campanasView: CampanasView?
override func viewDidLoad() {
super.viewDidLoad()
self.campanasView = CampanasView.create()
_ = JAutolayouts.fillContainer(self.contentView, view: self.campanasView!)
}
这是错误。
终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是:'+ [WinUp.CampanasView的CollectionView:numberOfItemsInSection:]:无法识别的选择发送到0x10beac100类的
您可以发布如何是你设置你的CampanasView XIB文件? –
另外,谁调用了你的create()和什么时候? – Smartcat
试试这个:加入viewDidLoad方法collectionView.DataSource =自 –