2010-08-05 29 views
8

geliyor UILabels ve Interface Builder ile UITextViews için yazı tipini ayarlamada bir sorun yaşıyorum. Yazı tipini Gill Sans'a ayarlamaya çalışıyorum. Ben programlı böyle, gayet iyi çalışıyor ayarlarsanız:Arayüz Oluşturucu ile UILabel yazı tipinin ayarlanması Helvetica

myLabel.font = [UIFont fontWithName:@"Gill Sans" size:24.0]; 

Ama Interface Builder ile ayarlamayı deneyin eğer, ben burada bu soruya iPhone SDK: Interface Builder label font, only shows when editing label açıklanan aynı davranışı elde ancak Gill Sans üzerinde sözde kullanılabilir iPad (ve kodla ayarladığımdan çalışır). Ve eğer bunu çalıştırırsam ve bunu yaparsam: "Helvetica" yazdıran " .

Genellikle programlı olarak ayarlamayı umursamıyorum, ancak sorun, bu belirli sınıfın farklı düzenler sağlamak için farklı uçlu dosyalarla birlikte birkaç farklı yerde kullanılmasıdır, dolayısıyla her zaman aynı şekilde kullanmak için kodlanmış kodları kullanamıyorum font ailesi. Ve her seferinde alt sınıflara ayırmak büyük bir acı olurdu, çünkü tasarımcıların istedikleri zaman arayüz düzenleyicisi ile tüm düzeni oluşturmasını ve değiştirmesini sağlamak istiyorum ve eğer istedikleri yazı tipini bana söylemek zorundalarsa Her özel durumu kodlayabilir, bu çok garip olur.

Daha önce bu problemi yaşayan var mı? Belki de Arayüz Oluşturucu, xib dosyasının hedefi zaten iPad'e ayarlanmış olsa da iPhone yazı tiplerini kullanmamı sınırlandırıyor, ancak iPad'i hedeflediğime nasıl ikna edebilirim? peşin

sayesinde yalnızca iPhone OS üzerinde mevcut fontları kullanabilirsiniz

cevap

3

Tamam, görünüşe göre bu IB 3.2.3 ile bir hata olarak rapor edilmiştir:
https://devforums.apple.com/message/236134#236134
Bu adam 3.2.2 üzerinde çalışmak için kullanılan, bu yüzden downgrade miyim göreceğiz, ya da ben' diyor Sadece Apple'dan bir düzeltme bekleyeceğim.

2

filipe. Uygulamanıza özel yazı tipleri gömmek için this answer adresini kontrol edin.

+1

Evet, anlıyorum ama sanırım Gill Sans yazı tipi iPhone OS 3.2'de var, değil mi? Yazı tipini kodla ayarlarsam iyi çalışır. Sorun, Interface Builder ile ayarlanmasıdır. – filipe

0

Tüm hedeflerin temizlenmesi birkaç kez çalışır. Son örneğimde yazı tiplerini almak için IB ve xcode'u bırakmak zorunda kaldım. Ben xcode/IB 3.2.5 kullanıyorum ve herhangi IBOutlet oluşturmak istemiyorsanız ben, chalkduster 13pt

HIH

+0

harika bir şey. Teşekkürler! – mtb

2

Kontrol dışarı bu yayını kullandı. Eğer sınıflara UILabel yaklaşımı kullanmak ve ayrıca daha sonra kullanımı aşağıda gibi bazı şeyi yapabilir IB set ağırlığını korumak istiyorsanız

https://stackoverflow.com/a/6620938/400909

0

.

https://github.com/IntrepidPursuits/IPCustomFontLabel: Mevcut yazı kalın, italik veya normal olup olmadığını size arayüzü oluşturucu özel bir yazı tipini ayarlamak için izin veren bir UILabel alt sınıfı yarattı

- (void)awakeFromNib 
{ 
    [super awakeFromNib]; 

    NSString *weight = [self.font.fontName substringFromIndex:[self.font.fontName length] - 5]; 
    if ([weight isEqualToString:@"-Bold"]) 
    { 
     self.font = [UIFont fontWithName:@"MyriadWebPro-Bold" size:self.font.pointSize]; 
    } 
    else if ([weight isEqualToString:@"-Italic"]) 
    { 
     self.font = [UIFont fontWithName:@"MyriadWebPro-Italic" size:self.font.pointSize]; 
    } 
    else 
    { 
     self.font = [UIFont fontWithName:@"MyriadWebPro" size:self.font.pointSize]; 
    } 
} 
0

ı öğrenmek için iyi bir yol bulamadı IBCustomFonts kategori

1

Kontrol dışarı yazdım: https://github.com/deni2s/IBCustomFonts

IBCustomFonts kategori iOS uygulamalar oluşturan Interface Builder (IB) dan özel yazı tipleri kullanmasına olanak sağlar.

IBCustomFonts kategorisini kullanan uygulamalar Apple App Store tarafından onaylanmıştır (Eylül 2013 itibariyle).

IBOutlet'leri, UILabels ve UIButtons alt sınıflarını kullanmanıza veya koddaki yazı tiplerini değiştirmenize gerek yoktur.

iOS6 ve iOS7'de test edilmiştir.

İlgili konular