CollectionViewCell中的标签未显示

时间:2016-12-08 21:37:23

标签: ios swift swift3 uicollectionviewcell

我在CollectionViewCell中有2个标签和1个图像视图。我可以在单元格中设置图像,但我无法在Cell中设置标签。 CollectionViewCell类:

class CollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var weatherIcon: UIImageView!
    @IBOutlet weak var degreeLbl: UILabel!
    @IBOutlet weak var dateTimeLbl: UILabel!

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

我如何在我的视图中使用它控制器:

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

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(
        withReuseIdentifier: "collectionViewCell", for: indexPath) as! CollectionViewCell


    if fiveDaysWeather.count > 0{
        let forecast = fiveDaysWeather[indexPath.row]
        let icon = forecast.icon!
        if let url = URL(string: "http://openweathermap.org/img/w/\(icon).png"){
            if let data = try? Data(contentsOf: url) {
                cell.weatherIcon.image = UIImage(data:data)!
            }
        }

        cell.dateTimeLbl?.text = forecast.hour!
        cell.degreeLbl?.text = "\(forecast.tempMax!)°"
    }
    return cell

}

我添加了一个模拟器屏幕和我的故事板截图。谢谢你的帮助。

Simulator Response

How I use CollectionViewCell in View

1 个答案:

答案 0 :(得分:0)

也许你需要注册课程。在CollectionViewController类的viewDidLoad方法中尝试这个。

self.collectionView.registerClass(CollectionViewCell.self, forCellReuseIdentifier: "collectionViewCell")

你也应该检查弱变量是否存在。在代码的这一行放置一个断点并检查标签/其他项目:

 cell.dateTimeLbl?.text = forecast.hour!