正如你所看到的,我在这里有一个集合视图列表,有些产品有促销价,有些则没有。对于那些有促销的产品,它会显示红色价格和实际价格(旁边)。现在的问题是,我使用segue从以前的观点传递所有这些价值,现在我必须隐藏那些没有促销价的产品的促销价格标签,我应该怎么做?
以下是代码:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! SubCategoryDetailsCollectionViewCell
let grey = UIColor(red: 85.0/255.0, green: 85.0/255.0, blue: 85.0/255.0, alpha: 1.0)
cell.layer.borderWidth = 1.0
cell.layer.borderColor = grey.CGColor
cell.titleLabel.text = name[indexPath.row]
cell.imageView.sd_setImageWithURL(NSURL(string: thumbImg1[indexPath.row] ))
我试图以这种方式隐藏标签,但它并没有真正起作用, 它工作了一段时间,在我开始滚动我的集合视图后,所有促销标签都被隐藏了
if promo[indexPath.row] == "0"{
cell.promoLabel.hidden = true
}else{
cell.promoLabel.text = "RM" + promo[indexPath.row]
}
cell.priceLabel.text = "RM" + price[indexPath.row]
cell.productLabel.text = label[indexPath.row]
cell.setNeedsDisplay()
return cell
}
答案 0 :(得分:2)
试试这个
if promo[indexPath.row] == "0"{
cell.promoLabel.hidden = true
}else{
cell.promoLabel.hidden = false
cell.promoLabel.text = "RM" + promo[indexPath.row]
}
cell.productLabel.text = label[indexPath.row]
cell.setNeedsDisplay()
return cell
}
答案 1 :(得分:0)
您也可以通过更改Alpha值来隐藏标签。尝试
cell.priceLabel.alpha = 0 //to hide
cell.priceLabel.alpha = 1.0 //to show
答案 2 :(得分:0)
由于重复使用单元格而出现此问题
试试这段代码:
if promo[indexPath.row] == "0" {
cell.promoLabel.hidden = true
}
else {
cell.promoLabel.hidden = false
cell.promoLabel.text = "RM" + promo[indexPath.row]
}