UICollectionView +自定义单元格

时间:2015-08-11 15:41:52

标签: ios xcode swift

请帮我收集收藏中的自定义单元格

我有一个错误: ..这个类不是关键的cell_label编码兼容的值。 你可以在这里下载完整的项目: https://drive.google.com/file/d/0B1nXU0xmeKg8WTRYRXJVbWdMVlU/view?usp=sharing

我想在modalview中显示带有自定义单元格的集合

PS:我使用xcode 7 beta和swift 2并为每个视图分开xib


import UIKit
class ModalController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {



    @IBOutlet weak var myCollection: UICollectionView!
    @IBOutlet weak var myCell: colywCell!

    var tableData: [String] = ["XXX", "YYY", "ZZZ"]

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title="modal W"
        myCollection.dataSource = self
        myCollection.delegate = self

        let nipName=UINib(nibName: "colywCell", bundle:nil)
        myCollection.registerNib(nipName, forCellWithReuseIdentifier: "cell1")
    }


    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return tableData.count
    }

    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

        self.myCell = myCollection.dequeueReusableCellWithReuseIdentifier("cell1", forIndexPath: indexPath) as! colywCell
        self.myCell.Cell_label.text = tableData[indexPath.row]
        return self.myCell
    }
 }

和自定义单元格文件


import UIKit

class colywCell: UICollectionViewCell {

@IBOutlet weak var Cell_label: UILabel!

required init(coder aDecoder: NSCoder)  {
    super.init(coder: aDecoder)
}

}

2 个答案:

答案 0 :(得分:1)

您需要知道所有者是谁,以及哪个应该使用nib加载。

简而言之,您需要了解colywCell.nib中的内容:

1a上。

确保文件所有者自定义类。

no file owner

1b中。

确保断开来自文件所有者的每个插座。

remove outlet connection from File's Owner

2a上。

确保实际的UICollectionViewCell 是您的自定义类。

proper custom class

2B。

可选择出口连接到您的自定义类。

connecting the outlet to the class, not to the owner

答案 1 :(得分:0)

这是一个常见错误,通常意味着您的视图上设置了 Outlet ,但未绑定到您的Cell上的任何IBOutlet

当您在类中使用某些var绑定视图然后删除该var而不是它在xib上绑定时会发生这种情况。