2009-07-09 11 views
18

क्या आईफोन पर एनएसएसटींग के लिए UIKit अतिरिक्त का उपयोग करके रंगीन टेक्स्ट खींचने का कोई तरीका है?क्या आईफोन पर एनएसएसटींग के लिए UIKit अतिरिक्त का उपयोग करके रंगीन टेक्स्ट खींचने का कोई तरीका है?

उत्तर

30

NSString UIKit जोड़ कर, आप श्रेणी तरीकों drawAtPoint मतलब है:: पाठ का रंग आम तौर पर साथ द्वारा निर्धारित किया जा सकता है और drawInRect :, तो उनके खींचा रंग बदलने के लिए तुम सब करने की जरूरत है जगह

है
CGContextSetFillColorWithColor(context, textColor); 

आपको drawAtPoint कॉल करने से पहले: या drawInRect :. जब संदर्भ मैन्युअल रूप से खींचा जाता है तो संदर्भ का भरने का रंग टेक्स्ट के रंग के रूप में उपयोग किया जाता है।

+3

'-drawRect: 'में' संदर्भ 'प्राप्त करने के लिए, कोई' UIGraphicsGetCurrentContext () '। या बस @ डेववेवर के क्लीनर समाधान का उपयोग करें। –

0

डेस्कटॉप पर आप NSAttributedString का उपयोग कर सकते हैं, लेकिन यह आईफोन पर उपलब्ध नहीं है। यदि आप स्क्रीन पर रंगीन टेक्स्ट डालने की कोशिश कर रहे हैं, तो बस UILabel का उपयोग करना सबसे आसान तरीका है। आप इस तरह के पाठ, फ़ॉन्ट और रंग में हेरफेर कर सकते हैं:

myLabel.text = @"Your text"; 
myLabel.font = [UIFont boldSystemFontOfSize:16]; 
myLabel.textColor = [UIColor redColor]; 
1

एनएसएसटींग को यह नहीं पता कि यह कैसे प्रदर्शित किया जाएगा; यह बस डेटा है। डिस्प्ले को उपयोगकर्ता को पाठ प्रस्तुत करने वाले किसी भी दृश्य में संभाला जाता है। यह एक UILabel, एक UITextfield, आदि हो सकता है ... ये कक्षाएं आम तौर पर अपने पाठ को UILabel या एक टेक्स्ट प्रॉपर्टी में संग्रहीत करती हैं।

aLabel = [[UILabel alloc] init]; 
aLabel.text = @"My String"; 
aLabel.textColor = [UIColor blackColor]; 
+0

यह UIKit के साथ सच नहीं है। UIKit ने एनएसएसटींग को कई विधियों को जोड़ा है जो कि पाठ को कैसे प्रस्तुत किया जाएगा, इसकी गणना के लिए उपयोगी हैं। http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html – Kekoa

50

ब्रैड का समाधान काफी संदर्भ जोड़ता है यदि आपके पास कोई संदर्भ आसान नहीं है (उदाहरण के लिए यदि आप इसे drawRect: method में कर रहे हैं)।

तरह से तटरक्षक के बिना यह करने के लिए

[[UIColor redColor] set]; 

या जो भी रंग आप चाहते हैं।

+1

धन्यवाद, यह सही, सरल और तेज़ काम करता है: डी! (यह UILabel की तुलना में NSString drawInRect के लिए तेज़ है) – elslooo

+9

ऐप्पल द्वारा सबसे अधिक वर्णनात्मक विधि का नाम ?? –

+0

@ ब्रैड के समाधान की कोशिश करने के बाद और त्रुटि मिली CGContextSetFillColorWithColor: अमान्य संदर्भ 0x0, हल करने में असमर्थ, फिर मैं स्क्रॉल करता हूं और [[UIColor redcolor] सेट] मेरे जीवन को बचाता है;) :) –

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

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