2010-04-28 12 views
28

मेरे पास एक लंबी टेक्स्ट स्ट्रिंग है (\n न्यूलाइन वर्णों सहित) कि मैं प्रदर्शन के लिए UILabel में फ़ीड करता हूं। UILabel टेक्स्ट के लिए पर्याप्त स्थान प्रदान करने के लिए गतिशील रूप से स्थापित किया गया है।UILabel टेक्स्ट शब्द लपेटता नहीं है

मेरे कोड इस तरह दिखता है:

myText = [NSString stringWithFormat:@"%@some text: %@ \n \n %@", myText, moreText1, moreText2]; 
NSLog(@"%@", myText); 
myLabelSize = [vLabelText sizeWithFont:[UIFont fontWithName:@"Helvetica" size:(15.0)] constrainedToSize:cMaxLabelSize lineBreakMode:UILineBreakModeWordWrap]; 

UILabel *lBody = [[UILabel alloc] initWithFrame:CGRectMake(cFromLeft, vFromTop, vLabelSize.width, vLabelSize.height)]; 
lBody.font = [UIFont fontWithName:@"Helvetica" size:(15.0)]; 
lBody.lineBreakMode = UILineBreakModeWordWrap; 
lBody.textAlignment = UITextAlignmentLeft; 
lBody.backgroundColor = [UIColor cyanColor]; 
[myScrollView addSubview:lBody]; 
lBody.text = vLabelText; 

मेरे समस्या यह है कि पाठ लपेट नहीं करता है, लेकिन पहली पंक्ति के बाद ट्रंकेटस। \n न्यूलाइन को अनदेखा किया जाता है।

उत्तर

85

बस समस्या मिली, मेरा numberOfLines अभी भी 1 पर था। इसे 0 पर सेट करने के बाद यह ठीक काम करता है।

+5

शूट .. तुम मेरी बात को हरा यह ... मुझे वह सही समस्या थी और पता था कि जब मैंने आपका शीर्षक पढ़ा था कि मेरा समाधान था। –

+0

यहां, एक अपवर्त है। :) – mtmurdock

+0

यहां, एक कुकी है। : ओ – Sandy

1

हो सकता है यह उपयोगी हो सकता है - के बाद से कुछ लाइनों अब पदावनत

lBody.lineBreakMode = NSLineBreakByCharWrapping; 
lBody.textAlignment = NSTextAlignmentLeft; 

और निश्चित रूप से कर रहे हैं - lBody.numberOfLines होना चाहिए और अधिक से अधिक 1 (1 है डिफ़ॉल्ट मान)