我打算在集合视图中使用自定义单元格概述产品。我已经设置了所有内容,没有任何错误,但不知何故,单元格的内容不会显示出来。
我有
self.collectionView!.registerClass(ProductCell.self, forCellWithReuseIdentifier: reuseIdentifier)
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
var items: Int = 0
if (section == 0) {
if (currentCategory == nil) {
items = sharedStore.categories.count
} else {
items = currentCategory.categories.count
}
} else if (section == 1) {
if (currentCategory == nil) {
items = sharedStore.products.count
} else {
items = currentCategory.items.count
}
}
return items
}
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! ProductCell
cell.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.05)
cell.layer.cornerRadius = 5
//initialize shit
cell.titleLabel = UILabel()
cell.priceLabel = UILabel()
if(indexPath.section == 0) {
let current: Category!
//get model object
if(currentCategory == nil) {
if(sharedStore.categories.count > 0) {
current = sharedStore.categories[indexPath.row] as! Category
} else {
current = nil
}
} else {
if(currentCategory.categories.count > 0 ) {
current = currentCategory.categories[indexPath.row] as! Category
} else {
current = nil
}
}
cell.itemImage = UIImageView(image: UIImage(named: "folderImage.png"))
cell.itemImage.hidden = false
cell.titleLabel.text = current.title as String
cell.priceLabel.hidden = true
}
return cell
}
该单元格为空。没有图像,没有标题,也没有价格标签。 我知道数据源工作正常,因为当我添加产品时,它会显示一个新的单元格。
有关如何将我的物品放入牢房的任何建议?
任何帮助都将受到高度赞赏:)
答案 0 :(得分:-3)
我想通了:出于某种原因,当您将子视图添加到故事板中的自定义UICollectionViewcell时,它在运行时不会自动将它们添加到单元格中。因此,您必须对该单元格的所有属性执行cell.addSubview(subview)
,在自定义单元格类或cellForItemAtIndex中执行以下操作。