2016-03-24 15 views
2

NSAttributedString kullanarak metin yazı tipi boyutunu değiştirmeye çalışıyorum. Ama boyutu değişmez.Amaç c UIFont sistemiFontOfSize çalışmıyor

NSDictionary *attrDict = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:22], NSForegroundColorAttributeName : [UIColor orangeColor]}; 

NSAttributedString *newAttString = [[NSAttributedString alloc] initWithString:mytext attributes:attrDict]; 

[result appendAttributedString:newAttString]; 

Yalnızca metin rengi değişir. Sonuç dizesinin boyutu 22 değil ve aynı zamanda kalın değildir. Bunun yerine alloc ile özelliklerini uygulamak

+0

Günlüğünüz "newAttString" değeri doğru görünüyor mu? 'NewString' eklendikten sonra 'sonuçtan biri? Sorununuz daha sonra olabilir. – Larme

+0

dizesi doğru. Hata yok. Ancak yazı tipi boyutu değişmez. – user

+0

Daha sonra 'sonuç' ile ne yaparsınız? Tekrar bir yere NSFontAttributeName uygular mısınız? – Larme

cevap

0

, init, sonra (bir değişken NSAttributedString ile) gibi bir şeyle yapıyor deneyin:

NSMutableAttributedString *newAtt = [[NSMutableAttributedString alloc] initWithString:mytext]; // Allocate a new NSMutableAttributedString with `mytext` 
[newAtt addAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:20], 
             NSForegroundColorAttributeName: [UIColor orangeColor]} 
           range:NSMakeRange(0, [result length])]; // add new attributes for the length of the string `mytext` 

[result setAttributedText:newAtt]; 

Bu cevap result ne olduğuna bağlı olarak değişiklik olur, ben test UITextView üzerinde çalıştı ve iyi çalıştı, ayrıca UILabels üzerinde bir attributedText özelliği vardır. Bu yardımcı olur umarım.

0

Kodunuzun sonunda result'un ne anlama geldiğinden bahsetmediniz. "Eklemek" istediğinden emin misin?

Ayrıca, ben bu sırasıyla farklı yazı tipleri ve boyutları ayarlamak için kullanılabilir ayar yazı

[UIFont fontWithName:@"Arial-BoldMT" size:22.0f] 

için bu kodu kullanın.

Bu yardımcı olur umarım :)