2015-06-22 9 views
8

का इंडेंट दूसरी पंक्ति तो मैं एक UILabel अगर यह iPhone या iPad पर है कि या एक दूसरी पंक्ति के लिए जाना नहीं हो सकता है, निर्भर करता है। मेरा लक्ष्य क्या है चाहते हैं इसे सही ढंग से पंक्तिबद्ध करने के लिए दूसरी पंक्ति पर मांगपत्र, यदि आवश्यक हो तो है।UILabel

iPad पर यह दूसरी पंक्ति को तोड़ने की आवश्यकता होगी लगभग कभी नहीं, और जो के आधार पर iPhone उस पर चल रहा है, यह हो सकता है या नहीं हो सकता। तो, संक्षेप में, मैं एक तरह से, की जरूरत है गतिशील रूप से दूसरी पंक्ति इंडेंट करने के लिए केवल जब वहाँ एक दूसरी पंक्ति है।

उत्तर

21

उपयोग अपने लेबल के लिए एक NSAttributedString, और सेट headIndent अपने paragraph style की:

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
style.headIndent = 14; 
NSDictionary *attributes = @{ 
    NSParagraphStyleAttributeName: style 
}; 
NSAttributedString *richText = [[NSAttributedString alloc] initWithString:@"So this UILabel walks into a bar…" attributes:attributes]; 
self.narrowLabel.attributedText = richText; 
self.wideLabel.attributedText = richText; 

परिणाम:

example result

+0

खूबसूरती से काम किया, धन्यवाद! –

+0

मैं जबकि कस्टम फ़ॉन्ट का उपयोग कर एक समस्या है। आप भी एक समस्या है? –

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