2012-11-03 68 views
7

मैंने यूलाबेल काम किया। लेकिन setLineBreakMode बहिष्कृत है। मैं NSAttributedString का उपयोग कर रहा हूं। लेकिन UILabel setLineBreakMode उसके बाद UILabel setNumberOfLines अन्य काम नहीं करता है।नई एनएसएट्रिब्यूटेड स्ट्रिंग मल्टीलाइन

से पहले:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(42.0f, 10.0f, 275.0f, 50.0f)]; 
label.text = @"XXXXXX"; 
memoLabel.textAlignment = UITextAlignmentLeft; 
memoLabel.numberOfLines = 2; 
memoLabel.lineBreakMode = UILineBreakModeTailTruncation; 
memoLabel.font = [UIFont systemFontOfSize:11]; 
memoLabel.backgroundColor = [UIColor clearColor]; 

आईओएस 6 के बाद:

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; 
paragraphStyle.alignment = NSTextAlignmentLeft; 
NSAttributedString *string 
    = [[NSAttributedString alloc] initWithString:text 
            attributes:[NSDictionary 
               dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:11], 
               NSFontAttributeName, 
               paragraphStyle, NSParagraphStyleAttributeName,nil]]; 
[paragraphStyle release]; 
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(42.0f, 10.0f, 275.0f, 50.0f)]; 
label.attributedText = string; 
[string relase]; 

मैंने पहले और प्रदर्शन के बाद एक ही होना चाहता हूँ। एकाधिक लाइनों को कैसे प्रदर्शित करें?

+0

कई आपको यहां जा में काम करता है। क्या आपने देखा है ? – rbbtsn0w

उत्तर

4

lineBreakMode संपत्ति आईओएस 6 में बहिष्कृत नहीं है। इसने बस स्थिरांक के नाम बदल दिए हैं। पुराने स्थिरांक बहिष्कृत हैं, लेकिन अभी भी उपलब्ध हैं। यदि आप पुराने आईओएस पर तैनात हैं, तो भी आप नए स्थिरांक का उपयोग कर सकते हैं, क्योंकि स्थिरांक केवल enum मान हैं। पुराने नाम और नए नामों के समान मूल्य हैं। तो, बस memoLabel.lineBreakMode = NSLineBreakByTruncatingTail सेट करें।

आपका उदाहरण कोड किसी भी जिम्मेदार स्ट्रिंग विशिष्ट विशेषताओं का लाभ उठाने के लिए प्रतीत नहीं होता है। यदि आपको एक जिम्मेदार स्ट्रिंग की आवश्यकता नहीं है, तो बस एक सादा स्ट्रिंग का उपयोग करते रहें। यही कारण है कि अभी भी आईओएस 6

2

उपयोग NSLineBreakByTruncatingTail बजाय UILineBreakModeTailTruncation

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

  • कोई संबंधित समस्या नहीं^_^