2013-07-16 13 views
8

मैं अपने एनएसटीक्स्ट व्यू में एक जिम्मेदार स्ट्रिंग को चिपकाने की कोशिश कर रहा हूं, लेकिन यह सिर्फ सादे पाठ के रूप में दिखा रहा है, कोई विशेषता नहीं है। मैं बहुत तरह मेरे स्ट्रिंग बनाया:NSTextView और NSAttributedString

NSString *str = @"Parsing Directory Structure\n\n"; 

NSMutableAttributedString *attrstr = [[NSMutableAttributedString alloc] initWithString:str]; 
NSDictionary *attributes = @{ 
          NSForegroundColorAttributeName : [NSColor blueColor], 
          NSFontAttributeName : [NSFont fontWithName:@"HelveticaNeue-Bold" size:20.f] 
          }; 
[attrstr setAttributes:attributes range:NSRangeFromString(str)]; 

[[self.textView textStorage] appendAttributedString:attrstr]; 

और NSTextView पर (स्क्रॉलिंग दृश्य के अंदर) मैं "की अनुमति देता है रिच टेक्स्ट" बॉक्स अभी भी जाँच की है, और संपादन योग्य बॉक्स को अनचेक। मैं मूल रूप से इसे कंसोल आउटपुट विंडो की तरह उपयोग करने की कोशिश कर रहा हूं।

उत्तर

5

NSMakeRangeFromString एक श्रेणी का एक पाठपरक प्रतिनिधित्व पार्स करता है, यह एक स्ट्रिंग को कवर करने वाली श्रेणी नहीं बनाता है। चूंकि आपके टेक्स्ट में कोई पूर्णांक नहीं है, यह {0, 0} - स्थान और लंबाई दोनों शून्य को वापस कर देता है। तो जब आपका पाठ स्टाइल नहीं है।

NSMakeRange(0, str.length) के साथ बदलें और आपके कोड को काम करना चाहिए।

+0

धन्यवाद! यह पूरी तरह से काम किया। – Gargoyle

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