Özel bir çizim alt yapısı olan CoreText'i kullanarak UILabel
numaralı özel bir alt sınıfım var. Dizelerimi, yazı tipi özelliğini kullanarak erişen etikette bulunan UIFont
kullanarak çizerdim. Ayrıca yazı tipine bazı özellikler ekliyorum. İşte böyle görünüyor:UIFont'u CTFontRef'e dönüştürün ve Retina ekranında italik ekle
UIFont* font = [self font];
CTFontRef ref = CTFontCreateWithName((CFStringRef)[font name], [font pointSize], NULL);
CTFontRef italicFont = CTFontCreateCopyWithSymbolicTraits(ref, [font pointSize], NULL, kCTFontItalicTrait, kCTFontItalicTrait);
Bu, yeni ipad, retina ekranı ile görünene kadar iyi çalışıyordu. CTFontCreateCopyWithSymbolicTraits
çağrıyı gerçekleştirdiğimde, bir dönüş değeri üretiyor. Bu yeni cihazlarda [font name]
".HelveticaNeueUI" değerini döndürdüm. CTFontCreateWithName
, bu özel yazı tipi adıyla düzgün çalışıyor, ancak CTFontCreateCopyWithSymbolicTraits
yapmıyor. Yine de [UIFont italicSystemFontOfSize:[font pointSize]]
kullanarak italik bir yazı tipi oluşturursam, [font name]
'un hala ".HelveticaNeueUI" değerini döndürdüğü bir italik yazı tipi oluşturur.
nasıl hala retina olmayan retina her iki ekranda benim CTFontRef
yeni özellikler uygulayabilirsiniz böylece benim UIFont
CTFontRef
dönüştürmek gerekir ?
Ve alternatiftir ... – ssteinberg
Ha. Çekirdek Metne Hoş Geldiniz. –
Yararsızlıktan kaçınmak için daha fazlası. –