2011-03-13 55 views
7

如何將NSTextView設置爲NSAttributedString?我不想使用textConainer,我試過:設置NSTextView

[myTextView insertText:myMutableAttributedString]; 

但它沒有工作。什麼都沒有發生...甚至沒有發出警告或運行時錯誤。任何幫助,將不勝感激。

+0

您是否驗證了'myTextField'不是'nil'? – 2011-03-14 00:01:53

+0

是的,我已經驗證myTextView不是零。 – user657819 2011-03-15 00:28:24

回答

3

你應該調用該方法(否則你將文本插入一個空字符串對象),然後調用-setString一個空字符串:

[myTextView setString:@""]; 
[myTextView insertText:myMutableAttributedString]; 
+0

它沒有工作。甚至沒有任何報告控制檯中的問題。 – user657819 2011-03-16 00:36:05

14

的TextView必須是可編輯的插入。

[myTextView setEditable:YES]; 
[myTextView insertText:myMutableAttributedString]; 
[myTextView setEditable:NO]; 
+0

'insertText:'已棄用:在macOS 10.11中首先不推薦使用 - 使用-insertText:replacementRange:替換爲NSTextInputClient。由於該方法僅用於輸入系統,因此不應將該消息發送到應用程序的文本視圖。任何內容修改都應通過NSTextStorage或NSText方法進行。 – 2017-12-12 16:03:29

-2

textView是以編程方式創建的?如果你從xib加載NSTextView,它會很好。

3

在雨燕2.2:

myTextView.textStorage?.setAttributedString(myMutableAttributedString)

在Objective-C:

[[myTextView textStorage] setAttributedString:myMutableAttributedString];