2013-10-01 21 views
11

iOS 7'de bir tablo görünümünde kırmızı separatorColor ayarlı ve separatorInset değerini UIEdgeInsetsZero veya başka herhangi bir özel metin değeri olarak ayarlarsanız, tüm ek veya "ekstra" satırlar varsayılan renk ayırıcılarına sahiptir. Bunu nasıl düzeltebilirim?Neden UITableView, özel separatorInset ile "extra" ayırıcılar için separatorColor'u yoksayar?

separatorInset tarihinde belgelerin son cümle bir şekilde ekstra kayıtları kontrol ettiğini ima, ama nasıl görmüyorum:

iOS 7'de

ve daha sonra hücre ayırıcı tüm yolu uzatmaz Tablo görünümünün kenarı. Bu özellik, tablodaki tüm hücreler için varsayılan ek bilgiyi ayarlar; rowHeight, hücreler için varsayılan yüksekliği ayarlar. Ayrıca, düz stil tablolarının alt kısmında çizilmiş "ekstra" ayırıcıları yönetmek için kullanılır.

viewDidLoad yılında ayırıcı ayarlayın:

self.tableView.separatorColor = [UIColor redColor]; 

Ve bu olsun:

self.tableView.separatorInset = UIEdgeInsetsZero; // <- any custom inset will do 
self.tableView.separatorColor = [UIColor redColor]; 
:

enter image description here

Ve separatorInset ve bir renk ayarladığınızda

Bu:

enter image description here

Bunun nedeni nedir ve nasıl bütün ayırıcılar kırmızı yapıp sıfır bütün ayırıcı-parçalar ayarlayabilirsiniz? Bu bir hata mı?

+0

Aynı sorunlar, yalnızca UIEdgeInsetsZero değil, herhangi bir özel ayracı ile gerçekleşir.Neyse ki kabul edilen çözüm, herhangi bir özel separatorInset ile de çalışır. Teşekkürler! –

+0

İyi yakalama. Bunu dahil etmek için soruyu güncelledim. – Aaron

cevap

20

Bunu çözdüm ama nedenini açıklayamıyorum.

İki ifadenin sırasını değiştirin. Daha sonra, ilk girinti rengini ayarlayın:

self.tableView.separatorColor = [UIColor redColor]; 
self.tableView.separatorInset = UIEdgeInsetsZero; 

Her şey çalışır:

enter image description here

+0

Garip ama benim için çalıştı! –

+0

Bu bir kesmek. –

+1

Evet. Bize cevabınızın neden bir hack olmadığını da söyler misiniz? Rengin neden saygı görmediğini açıklamıyor. – Aaron

2

deneyin cellForRowAtIndexPath bu ekledi. TableView'ın separatörInsets ayarının yanı sıra. UITableViewCell iOS Dokümanlar itibaren

cell.separatorInset = UIEdgeInsetsZero;

:

@property (nonatomic) UIEdgeInsets separatorInset

hücrenin içeriği için içerden değerlerini.

Geçerli hücrenin içeriği ile tablonun sol ve sağ kenarları arasında boşluk eklemek için bu özelliği kullanabilirsiniz. Pozitif iç değerler, hücre içeriğini ve hücre ayırıcısını, masanın kenarlarından içeri ve dışarı doğru hareket ettirir. Negatif değerler, eki 0 olarak ayarlanmış gibi kabul edilir.

İlgili konular