所以我试图用我存储在数组中的图像填充collectionView。这是我的代码:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! ImageCollectionViewCell
if (indexPath.row % 2 == 0) {
cell.backgroundColor = UIColor.orangeColor()
}
else {
cell.backgroundColor = UIColor.blackColor()
}
let img = poiImages.objectAtIndex(indexPath.row) as? UIImage
cell.assignImage(img!)
return cell
}
背景颜色改变正常,我做了这个作为初始测试,以验证该方法是否正常工作。但是,我只能为第一个单元格分配图像。此后所有细胞都留空,但仍然分配黑色/橙色。
这是我对UICollectionViewCell的自定义类代码:
import UIKit
class ImageCollectionViewCell: UICollectionViewCell {
var imageView: UIImageView!
override init(frame: CGRect) {
imageView = UIImageView()
imageView!.frame = frame
imageView!.clipsToBounds = true
imageView!.contentMode = UIViewContentMode.ScaleAspectFill // maybe change to fit
super.init(frame: frame)
contentView.addSubview(imageView!)
}
func assignImage(img: UIImage) {
imageView!.image = img
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
在我的视图的初始化中,我记得嵌入了集合视图:
poiImageView.registerClass(ImageCollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
我觉得我只是在制作我的自定义类的一个实例。
有什么想法吗?
万分感谢
仍然无法让它继续工作,仍在寻找答案。我无法想出发生这种情况的任何理由。有没有人经历过同样的事情?
答案 0 :(得分:0)
不确定是否有人仍然感兴趣,但是可以肯定,您要做的只是更改
imageView!.frame = frame
到
imageView!.frame = bounds
,你应该是金。对我有用
答案 1 :(得分:-1)
indexPath.row
适用于UITableView
indexPath.item
适用于UICollectionView