2012-03-21 14 views
8

ben sistem çapında NavigationController UI öğeleri özelleştirmek için benim iOS5 uygulamasında bir görünüm proxy kullanacak edememek seviyorum,:Alternatifler ancak setFont

Ben iç içe bir sürü var Uygulamamdaki tabloları, tüm tablo hücrelerine yazı tipini değiştirmeyi çok isterim. Esas olarak statik olarak oluşturulurlar. Bir sınıfa hücre dizimi koydum, bir diziden okundum, ama asıl mesele, Interface Builder'da masaüstümden aldığım geniş bir içerik bölümü ile yatıyor. IB, kütle-font ayarına sahip gibi görünmüyor.

Herkesin tek bir seferde tüm UITableCell yazı tiplerini ayarlamanın bir yolunu bulmama yardımcı olup olmadığını merak ediyordum?

Belki böyle bir şey:

[[UILabel appearance] setFont:[UIFont fontWithName:@"Times" size:17.00]; 

cevap

8

Sizin için görünümünü ayarlamak istiyorum UIViews hangi daraltmak için appearanceWhenContainedIn: kullanabilirsiniz. Örnekte

, deneyin: Aslında

[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] 
      setFont:[UIFont fontWithName:@"Times" size:17.00]]; 
+0

Çok teşekkürler - belirli öğelere konsantre olmanın iyi bir yolu - Geri bildiriminizi takdir ediyorum! – Sarreph

+0

Bir meslektaşıyla uzun ve ısıtılmış bir tartışmadan sonra, UILabel'ın (* ViewWhenContainedIn: * öğesine * yanıt veren diğer sınıflar arasında) UIAppearance protokolüne uymadığını doğru bir şekilde bildirmiştir. belgesiz ve bu nedenle güvenilmemelidir). – NSTJ

+0

@NSTJ 'UILabel'' UIView''den 'UIAppearance' ile uyumludur; ergo 'UILabel' * * 'UIAppearance' ~~' ya uyuyor ve bu yönteme güvenilebilir ~~. – Austin

2

, hayır. UILabel stilini kullanmak için UIAppearance kullanmak geçerli değildir. Bakınız my self-answered question here. Öyle çalışır, ama orada belirtilen nedenlerden dolayı geçerli değil.