我最近開始調查NSAtributedString如何工作。我使用NSAtributedString構建類似於富文本編輯器的東西。我有一個自定義的書面CustomRichTextEditor:UITextView的,我想用下面這段代碼覆蓋默認屬性爲NSAtributedString:更改NSAtributedString顏色和字體爲空範圍TextView
:
UIFont *font = [UIFont systemFontOfSize:24.0];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName,[UIColor darkGrayColor],NSForegroundColorAttributeName,nil];
NSMutableAttributedString* attrStr = [self.richTextEditor.attributedText mutableCopy];
[attrStr setAttributes:attributes
range:NSMakeRange(0, self.richTextEditor.attributedText.string.length-1)
];
self.richTextEditor.attributedText = attrStr;
但是,因爲我的編輯是空的,範圍是未知的,我有錯誤崩潰終止應用程序由於未捕獲的異常「NSRangeException」,理由是:「NSMutableRLEArray replaceObjectsInRange:withObject:長度::越界」
我如何設置NSAtributedString的字體和顏色時,正確的範圍是未知的?
爲什麼不self.richTextEditor.attributedText.string.length?你正在削減最後一個字。 –
這也是如此! – Georg
問題很明顯,但是我怎樣才能解決它沒有範圍? – Vad