यहां मैंने आईओएस 6 में क्या किया है। पहले कोरटेक्स्ट, और क्वार्ट्जकोर फ्रेमवर्क जोड़ें। फिर आयात:
#import <QuartzCore/QuartzCore.h>
#import <CoreText/CTStringAttributes.h>
#import <CoreText/CoreText.h>
मैं एक छोटे से समारोह है कि एक सादे NSString इनपुट और सुपरस्क्रिप्ट के अंतिम वर्ण के साथ एक NSMutableAttributedString निर्यात कर दिया। इसे सुपरस्क्रिप्ट या सबस्क्रिप्ट सेट करने की अनुमति देने के लिए संशोधित किया जा सकता है, kCTSuperscriptAttributeName मान -1 को बदलें। स्ट्रिंग में सुपरस्क्रिप्ट को कहां रखना है, यह निर्दिष्ट करने के लिए आप एक चर जोड़ सकते हैं। अभी यह सिर्फ स्ट्रिंग के अंत को मानता है।
- (NSMutableAttributedString *)plainStringToAttributedUnits:(NSString *)string;
{
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:string];
UIFont *font = [UIFont systemFontOfSize:10.0f];
UIFont *smallFont = [UIFont systemFontOfSize:9.0f];
[attString beginEditing];
[attString addAttribute:NSFontAttributeName value:(font) range:NSMakeRange(0, string.length - 2)];
[attString addAttribute:NSFontAttributeName value:(smallFont) range:NSMakeRange(string.length - 1, 1)];
[attString addAttribute:(NSString*)kCTSuperscriptAttributeName value:@"1" range:NSMakeRange(string.length - 1, 1)];
[attString addAttribute:(NSString*)kCTForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0, string.length - 1)];
[attString endEditing];
return attString;
}
अब मैं क्या कर सकते हैं जब मैं इसका उपयोग करना चाहते एक UITextField में रख लिए निम्न:
NSString *qlwUnitsPlainText = @"m3";
self.quantityLoadWeightUnits_textField.attributedText = [self plainStringToAttributedUnits:qlwUnitsPlainText];
मुझे आशा है कि यह किसी और में मदद करता है, वहाँ कई उदाहरण नहीं है!
स्रोत
2013-02-08 16:48:36
धन्यवाद। क्या आप सुपरस्क्रिप्ट्स को भी बनाने के लिए kCTSuperscriptAttributeName का उपयोग कर सकते हैं? – Mahir
हां जैसा कि मैंने कहा है, सुपरस्क्रिप्ट के लिए एक सकारात्मक मूल्य है। सबस्क्रिप्ट के लिए एक नकारात्मक मूल्य। –
क्षमा करें, मुझे नहीं पता कि मुझे यह कैसे याद आया। एक बार फिर धन्यवाद। – Mahir