2016-08-24 3 views
0

Ich habe versucht, die Textfarbe eines UILabel innerhalb einer benutzerdefinierten Zelle in UICollectionView zu ändern. Derzeit bin ich mit folgendem Code, der ich Hintergrundfarbe der Cell ändern kann, aber ich muß nur die Textfarbe ändern:Ändern Sie die Textfarbe von UILabel in Custom UICollectionViewCell

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) 
    { 

    //Change background color of selected Cell 

    let selectedCell:UICollectionViewCell = collectionView.cellForItemAtIndexPath(indexPath)! 

    selectedCell.contentView.backgroundColor = UIColor(red: 102/256, green: 255/256, blue: 255/256, alpha: 0.66) 

    } 


func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) 
    { 

    //Set background color of selected Cell to Clear Color 

    let cellToDeselect:UICollectionViewCell = collectionView.cellForItemAtIndexPath(indexPath)! 

    cellToDeselect.contentView.backgroundColor = UIColor.clearColor() 

    } 

Ich habe einige apps gesehen, in dem ein Haarlinie Art der Sache unter ausgewählter Bewegung hält Zelle. Wer weiß, wie man das auch umsetzen kann?

TIA

Antwort

2

Wenn sie eine benutzerdefinierte Zelle, die Sie benötigen, um ein Etikett zu Ihrem benutzerdefinierten hinzuzufügen UICollectionViewCell

import UIKit 

class CustomCell: UICollectionViewCell { 

    let label: UILabel! = nil 

} 

Dann in selectItemAtIndexPath:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { 

    let selectedCell: CustomCell = collectionView.cellForItemAtIndexPath(indexPath) as! CustomCell 
    selectedCell.label.textColor = UIColor(red: 102/256, green: 255/256, blue: 255/256, alpha: 0.66) 

} 
+0

Vielen Dank. Das ist genau was ich brauchte :) – Molly

+0

Gern geschehen. Wenn dies hilfreich war, wählen Sie es bitte als Antwort und Upvote aus. – Nate4436271

0
theLableYouWantToChangeColor.textColor = UIColor.redColor() 

Wie Sie benutzerdefinierte UICollectionViewCell sagen, müssen Sie UICollectionViewCell eine benutzerdefinierte erstellen und eine UILabel nach innen addieren.

+0

Genau das ist, was ich getan habe: Klasse SliderCustomCollectionViewCell: UICollectionViewCell { @IBOutlet var sliderCellLabel: UILabel! } – Molly

+0

Nun, wie mache ich es in einer anderen Klassenfunktion sichtbar. Um genau zu sein in didSelect und deSelect Methoden? und endlich die Farbe des Textes ändern ...? – Molly

+0

Verwenden Sie es bei cellforItems .... wenn Sie die Zelle erstellen. Ich verstehe nicht, was Sie tun von "Nun, wie mache ich es sichtbar in einer anderen Klassenfunktion" – Sofeda

0

Sie sollen Zellbezug haben und machen, dass Eigenschaft label zugänglich von anderen Klassen und Zugriff und ändern Sie das Oder Übergeben Sie das Farbobjekt an Zelle und ändern Sie es nur dort. Andere Prüfungen: Referenz sollte nicht Null sein, wenn IBOutlet dann sollte es verbunden sein.

Verwandte Themen