2016-03-23 15 views
0

Temel olarak kullanıcıların en çok stresli oldukları zaman ve en mutlu oldukları zaman değerlendirebilecekleri bir ay boyunca kullanıcıların ruh hallerini takip etmelerini sağlayan bir iOS uygulaması oluşturuyorum.iOS'taki tek tek etiketli hücrelere renk ekleme

Her gün, kullanıcılar her gün gün ve renk koduyla ilgili bir bilgi bloğu yazabilir, böylece liste görünümünde ayın nasıl gittiğini hızlı bir şekilde görebilirsiniz (örneğin, ayın çoğu kırmızıysa kötü bir ay geçirdiklerini gösterir).

Kullanıcıların ruh hallerini tanımlamak için yeşil, sarı ve kırmızı kullanıyorum. Ancak, her bir hücreyi kullanıcının seçtiği rengi yapmakta sorun yaşıyorum. Her renk hücresine kullanıcının seçimini tanımlamak için bir etiket verdim. Ekranda görüntülenmesine izin vermek için aslında işlevi çağırırken sorun yaşıyorum.

Bu benim liste görünümü kumandam kodudur: Ben işlevleri çağırmak gerektiğini biliyoruz

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell")! 

    let post = posts[indexPath.row] 

    let cellTitle = cell.viewWithTag(1) as! UILabel 
    cellTitle.text = post.title 

    let cellText = cell.viewWithTag(2) as! UILabel 
    cellText.text = post.text 

    return cell 
} 

ama bunu nasıl yapacağım?

cevap

0
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 
    cell.contentView.backgroundColor = UIColor.greenColor() // or any other color depending on the tag 
} 
+0

Teşekkürler, ama (ve burada aptalca olabilir) kodun ilk bloğu gidiyor mu? TableView öğesini bulamıyorum: willDisplayCell: forRowAtIndexPath ?? –

+0

Bu yöntemi sınıfınıza eklemeniz gerekiyor, düzeltmem e –

0

Sana tablo görünümünde belirli bir hücrenin rengini değiştirmek istediğiniz doğru sizi anlasalardı. En basit çözüm, fonksiyonunuzdaki hücreyi, yine de tablo görünümü için gerekli olan modifiye etmektir.

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
} 

Eğer indexPath arka planını değiştirmek için cell.backgroundColor = UIColor.yourColor() kullanmak kullanarak düzenlemek istediğiniz hücre belirttikten sonra.

+1

nihayet çalışıyor. çok teşekkür ederim ahbap! –

+1

Cevabı doğru olanı işaretleyin :) –

İlgili konular