2011-03-13 8 views
7

सेट करना मैं NSTextView को NSAttributedString पर कैसे सेट कर सकता हूं? मैं टेक्स्टकोनर का उपयोग नहीं करना चाहता, और मैंने कोशिश की:एक NSTextView

[myTextView insertText:myMutableAttributedString]; 

लेकिन यह काम नहीं किया। कुछ भी नहीं हुआ ... यहां तक ​​कि एक चेतावनी या रनटाइम त्रुटि भी नहीं। किसी भी सहायता की सराहना की जाएगी।

+0

आपने जांच लिया है कि '' myTextField' nil' नहीं है? –

+0

हां, मैंने सत्यापित किया है MyTextView शून्य नहीं है। – user657819

उत्तर

3

आपको लगता है कि विधि बुला (अन्यथा आप एक अशक्त स्ट्रिंग वस्तु में पाठ डालने कर रहे हैं) से पहले एक खाली स्ट्रिंग के साथ -setString बुलाना चाहिए:

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

यह काम नहीं किया। कंसोल में किसी समस्या की रिपोर्ट करने की भी कुछ भी नहीं। – user657819

14

TextView डालने के लिए संपादन योग्य होना चाहिए।

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

'insertText:' को बहिष्कृत किया गया है: पहले मैकोज़ 10.11 में बहिष्कृत - उपयोग -insertText: replaceRange: इसके बजाय NSTextInputClient से। चूंकि विधि को पूरी तरह से इनपुट सिस्टम द्वारा उपयोग करने के लिए डिज़ाइन किया गया है, इसलिए संदेश को एप्लिकेशन से टेक्स्ट व्यू पर कभी नहीं भेजा जाना चाहिए। कोई भी सामग्री संशोधन या तो NSTextStorage या NSText विधियों के माध्यम से होना चाहिए। –

-2

टेक्स्ट व्यू प्रोग्रामेटिक रूप से बनाया गया है? यदि आप xib से NSTextView लोड करते हैं, तो यह द्विपक्षीय होगा।

3

स्विफ्ट 2.2 में:

myTextView.textStorage?.setAttributedString(myMutableAttributedString)

ऑब्जेक्टिव-सी में:

[[myTextView textStorage] setAttributedString:myMutableAttributedString];

संबंधित मुद्दे