2014-08-27 40 views
19

Xcode 6 beta 6, görünüm vekaleten tüm UITableView arka plan renklerini değiştirmeye çalışıyorum:iOS 8 UITableView arka plan rengini görünüm

[[UITableView appearance] setBackgroundColor:[UIColor redColor]] 

Ama çalışmıyor gibi görünüyor.

Yeniden oluşturma adımları:

1 IB arka plan denetleyicisi görüntülemek ve değiştirmek için film şeridi

3 Set delege tek görünüm projeyi viewController için

ekle 2 UITableView oluşturun:

enter image description here

4 Dinamik hücre ekle d yapılandırmak veri kaynağı:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Override point for customization after application launch. 
    [[UITableView appearance] setBackgroundColor:[UIColor redColor]]; 

    return YES; 
} 

6 Çalıştır uygulaması ve yanlış renk izlemek:

enter image description here

herhangi bir öneriniz nasıl düzeltilir uygulama temsilci olarak

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return 2; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"Cell1Identifier" forIndexPath:indexPath]; 
    return cell; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return 60.f; 
} 

5? Her tablo için arka plan rengini ayarlamak iyi bir çözüm gibi görünmüyor.

+0

Yalnızca 8.0.8 olan iOS 8.0.x sürümünde oluşur, 8.0.x'in daha düşük veya daha büyük bir sürümünde üretilmez ve kullanıcıların çoğunun endişelenmemesi için 8.1'e yükseltildiğini düşünüyorum :) – Yuvrajsinh

+0

[this] (http://stackoverflow.com/questions/25924926/ios-8-setting-background-color-uitableview-via-uiappearance) bir hata gibi görünüyor. rdar: // 18406065 –

+0

Hala fiziksel cihaz ve simülatörde iOS 8.1.X ve 8.2.X'te UITableView görünüm arka plan rengi sorunu alıyorum. Ancak yukarıda iyi çalışıyor. Programlı olarak bir '[tableview setBackgroundColor:]' tutmak zorundayım. – Ben

cevap

10

deneyin InterfaceBuilder'da "Varsayılan" backgroundColor "reset" için (bile onun zaten Standart, biraz renk değişikliği göreceksiniz)

bu gruplanmış tarzı ile çalışır gelmez tableviews

GÜNCELLEME:

bu benim için çalıştı

[[UIScrollView appearance] setBackgroundColor:[UIColor redColor]]; 
+3

Varsayılan renkle bile, şu anda çalışmıyor. –

+0

ama sorun gruplandırılmış tabloları – HotJard

+0

için Bu benim için de işe yaramadı. Bazı nedenlerden dolayı iOS 8, bizim için tablo görünümünde arka plan rengini ayarlama yeteneğini "kırdı". Başka fikirlerin var mı? – Prethen

2

görünen iOS 8 için, en azından o bizim koşullar için, bu görünümde bir tablo ile bir görünümün arka plan rengini ayarladığımızda, açıkça tablosunu ve hücre arka plan renklerini, görünümden istenen renk için göstermesi için Temizle olarak ayarlamanız gerekir. Önceden iOS sürümleriyle birlikte, hücrelerin saydam hale getirildiğini sanıyorum, ancak bu artık geçerli değil.

0

Görünüş proxy'sinin IOS 8.0.x'te görünürde bildirilmeyen bir hata gösterdiği görülüyor; Tablo hücrelerinin varsayılan arka plan rengini içeren iOS 7 değişikliği ile ilgisi yoktur. , 7.1.2 üzerinde

  1. My iPhone 4S bu sorunu yoktur
  2. :

    göreceli iyi haber, çünkü bu yalnızca iOS 8.0 ve 8.0.2 arasındaki bir sorun gibi görünüyor olmasıdır Meslektaşımın 8.1 sürümünde çalışan iPhone 6'nın bu sorunu yok.

çoğu kullanıcı yükseltilmiş kadar önceden görünüm dönemin :(içine bizi geri gönderme, nesnenin kendisinde açıkça arka plan ayarlamak zorunda kalacak

+0

İlginç ... Tüm 8.1 simülatörlerimde bunu görüyorum. –

5

XCode 6'da Tablet çalışmıyor TableViewCell için net renk . aşağıdaki geçici çözüm benim için çözmek şeffaf

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 

    cell.backgroundColor = [UIColor redColor]; 
} 
+0

Benim için çalıştı .. iOS 8 ile yapıldı .. – TharakaNirmana

1

Seti hücre arka plan rengini tableView içinde. willDisplayCell: forRowAtIndexPath:

1

[Uita bleVIew backgroundColor], UI_APPEARANCE_SELECTOR ile işaretlenmemiş. Görünüm vekilleri sadece seçici UI_APPEARANCE_SELECTOR ile işaretlenmişse çalışacaktır.

+1

UITableView UI_APPEARANCE_SELECTOR ile işaretlenmiş bir özellik backgroundColor olan UIView miras aldığı için bu sorun olmamalı. –

İlgili konular