2016-08-09 9 views
2

Wie Sie sehen können, habe ich hier eine Liste der Sammlung anzeigen, und einige Produkte haben Aktionspreis und einige nicht. Für diejenigen Produkte, die eine Promotion haben, wird der Preis der roten Farbe mit dem tatsächlichen Preis angezeigt (daneben). Das Problem ist jetzt, ich übertrug alle diese Werte von der vorherigen Ansicht, die segue verwendet, jetzt muss ich Promotionpreislabel für jene Produkte verbergen, die nicht Förderungspreis haben, wie soll ich es tun? HierWie kann ich ein Label ausblenden?

hide label

ist der Code:

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])) 

Ich versuche, das Etikett auf diese Weise zu verstecken, aber es ist nicht wirklich funktioniert, es für eine Weile arbeiten und nachdem ich beginne meine Sammlung Ansicht scrollen , alle Promo-Label sind versteckt

+0

können Sie uns etwas von Ihrem Code zeigen? es ist ziemlich schwer zu erraten ... – elyashiv

+0

@elyashiv ich aktualisiert – bobo

Antwort

2

versuchen, diese

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 

}

0

Sie können Label durch Ändern der Alpha-Wert auch ausblenden. Versuchen

cell.priceLabel.alpha = 0 //to hide 
cell.priceLabel.alpha = 1.0 //to show 
+0

funktioniert nicht, dasselbe Problem): – bobo

+0

Debuggen und finden Sie welche Zeile in Ausführung. Ich meine, überprüfen Sie, ob eine Anweisung oder eine Anweisung ausgeführt wird. Daran könnte ein Fehler liegen –

0

Dieses Problem tritt wegen Zelle auftritt

versuchen diesen Code wiederverwenden:

if promo[indexPath.row] == "0" { 
    cell.promoLabel.hidden = true 
} 
else { 
    cell.promoLabel.hidden = false 
    cell.promoLabel.text = "RM" + promo[indexPath.row] 
} 
Verwandte Themen