2010-04-03 15 views
5

मैं इस श्रेणी का उपयोग कर रहा साथ लिंक बनाने के लिए कोशिश कर रहा http://www.nightproductions.net/references/dsclickableurltextfield_reference.html#setAttributedStringValueNSTextField

क्लिक करने योग्य textfields लागू करने के लिए (सही है?) है। मैं अपने नियंत्रक वर्ग में शीर्ष लेख फ़ाइल आयात और सेट यह इस

NSAttributedString* str = [[NSAttributedString alloc] initWithString:@"http://www.yahoo.com"]; 
[url setAttributedStringValue:(NSAttributedString *)str]; 

[str release]; 

पाठ क्षेत्र की तरह स्ट्रिंग मान जिम्मेदार ठहराया है चयन और संपादन योग्य नहीं नहीं करेगा।

टेक्स्ट फ़ील्ड मान सेट है लेकिन यह क्लिक करने योग्य नहीं है और यह एक लिंक नहीं है।

अग्रिम धन्यवाद।

+0

जोड़ा गया कोको टैग:

-(NSAttributedString *)stringFromHTML:(NSString *)html withFont:(NSFont *)font { if (!font) font = [NSFont systemFontOfSize:0.0]; // Default font html = [NSString stringWithFormat:@"<span style=\"font-family:'%@'; font-size:%dpx;\">%@</span>", [font fontName], (int)[font pointSize], html]; NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding]; NSAttributedString* string = [[NSAttributedString alloc] initWithHTML:data documentAttributes:nil]; return string; } 

अब आप पाठ क्षेत्र के लिए विधि कॉल कर सकते हैं: यहाँ एक छोटी उदाहरण है। – hallski

उत्तर

9

मुझे NSTextField में लिंक दिखाने का एक और आसान तरीका मिला है। आप एचटीएमएल का उपयोग कर सकते हैं।

// @property IBOutlet NSTextField *tf; 
[tf setAllowsEditingTextAttributes: YES]; 
[tf setSelectable:YES]; 
NSString *credits = @"Visit our <a href=\"http://www.webpage.com\">webpage</a>"; 
[tf setAttributedStringValue:[self stringFromHTML:credits withFont:[tf font]]]; 
+0

यह बेहतर है क्योंकि कर्सर उंगली कर्सर में बदल जाता है, और दूसरी विधि के साथ क्लिक करते समय फ़ॉन्ट बदल जाता है। –

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