2011-07-08 33 views
5

içinde özel bir UITableViewCell hücresinin arka plan rengini değiştirme Özel bir UITableViewCell arka plan rengini UITableView düz stilinde değiştirmeye çalışıyorum.Düz UITableView

benim temsilci yönteminde diğer benzer soruları okumak ve ben ettik:

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Ben cell.backgroundColor = [UIColor...] ayarlayın. Sorun, bu yalnızca gruplandırılmış bir stil UITableView için çalışır.

Not: Program aracılığıyla bunu yapmak istediğim nedeni .xib dosyasımda kullanmamın nedeni, farklı hücreler için farklı arka plan renkleri istiyorum.

+0

içerik görünümü için arka zemin rengini değiştirmeyi deneyin. cell.contentView.backGroundColor = [UIColor ...]; – Dinakar

+0

Kakao etiketi eklemedim mi? – petert

cevap

8

Rengin tonunu ayarlayabilmeniz için öncelikle cell.contentView.backgroundColor = [UIColor clearColor]'u ekleyebilirsiniz.

Bunun nedeni arka planın en altta olmasıdır. İçerik görünümü en üstte. Bu değişikliği gibi

+0

Bu hile yaptı, teşekkürler. Cell.backgroundColor ve cell.contentView.backgroundColor arasındaki fark nedir? –

+1

Hücrenin iki katmanı var. Bir diğeri backgroundview.Orada backgroundview üzerinde elma tarafından bir düğme vardır. Eğer tabloView.editing deneyin = EVET sil düğmesini görebilirsiniz. – Bonny

+0

backgroundview üzerinde, daha yakından bakmak, bu işe yaramadı. Cell.contentView.backgroundColor'u doğrudan istediğim renge ayarladım ve bu işe yaradı. Lütfen cevabınızı buna göre değiştirin. Teşekkür ederiz –

0
// set selection color 
UIView *myBackView = [[UIView alloc] initWithFrame:cell.frame]; 

myBackView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1]; 

[cell.contentView addSubview:myBackView]; 

[myBackView release]; 

u

1

Değiştir aşağıdaki temsilci yönteminde renk gerektiği gibi her hücre:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (...){ 
     cell.backgroundColor = [UIColor blueColor]; 
    } else { 
     cell.backgroundColor = [UIColor whiteColor]; 
    } 
}