2012-12-10 54 views
1

我有一個UITextView,它包含通過情節串連圖板配置的屬性字符串。現在我想要應用自定義字體。我正在通過代碼來完成它使用屬性字符串在UITextView中設置自定義字體

textView.font = [UIFont fontWithName:kCustomFont size:textView.font.pointSize]; 

問題是字體被更改失去了所有的屬性。我如何解決它?

(在iOS 5及以上工作)

+0

字體在很多方面都會成爲問題。例如,你是否在爲textView設置字體後看到默認字體?如果是,那麼只有字體的概率。您需要在Mac中安裝該字體並檢查字體中的確切字體名稱。安裝後字體不會有相同的名稱。所以也要這樣檢查一下。 –

+0

你應該在這裏發佈kCustomFont的值。 – Snowcrash

回答

0

你應該通過NSMutableAttributedString的屬性更改。

I.e.使用類似的東西:

NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc] initWithAttributedString:textView.text]; 
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]; 
[mutableSrting addAttributes:attrs range:NSMakeRange(0, [mutableString length])]; 
textView.attributedText = mutableString; 
[mutableString release]; 
+0

給出了一個例外... – orak

+0

哪一條,哪條線? –

+0

@orak你應該發佈例外。但是,很可能你沒有正確的字體名稱。 – Snowcrash

0

什麼在你的kCustomFont?如果FontName錯誤,即使是單個字符,也會使用標準SystemFont。

+0

其我的自定義字體名稱...正在正確應用... – orak