के साथ एक मल्टीलाइन UILabel को प्रस्तुत करने के लिए मैं एक NSMutableAttributedString के साथ एक multiline UILabel बनाने की कोशिश कर रहा हूं। यह ठीक काम करता है जब मैं इस तरह पूरा स्ट्रिंग के लिए एक विशेषता आवंटित:NSMutableAttributedString
UILabel *contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,200,100)];
[contentLabel setLineBreakMode:NSLineBreakByWordWrapping];
[contentLabel setNumberOfLines:0];
[contentLabel setFont:[UIFont systemFontOfSize:13];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"hello I am a long sentence that should break over multiple lines"];
[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(0, [string length])];
contentLabel.attributedText = string;
लेकिन मैं मैं क्या जरूरत है (बोल्ड कुछ शब्दों के लिए) NSAttributedString के विभिन्न subranges के लिए विशेषताओं के एक नंबर को लागू करने के लिए है।
UILabel *contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,200,100)];
[contentLabel setLineBreakMode:NSLineBreakByWordWrapping];
[contentLabel setNumberOfLines:0];
[contentLabel setFont:[UIFont systemFontOfSize:13];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"hello I am a long sentence that should break over multiple lines"];
[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(3, 5)];
contentLabel.attributedText = string;
मुझे जो मिल रहा है वह यह है कि यदि मैं ऐसा करता हूं, तो लेबल अब लेबल में कई पंक्तियों पर प्रस्तुत नहीं किया जाता है। इसे एक लाइन के रूप में प्रस्तुत किया जाता है, जो लेबल के फ्रेम में लंबवत केंद्रित होता है।
क्या मुझे कुछ याद आ रही है?
क्या आपने दूसरी पंक्ति के लिए लेबल लंबा बना दिया था? –
मैं इसे 6.1 पर पुन: उत्पन्न नहीं कर सकता। मुझे लगता है कि सेट कोड में आपका कोड थोड़ा गलत है (वहां एक गुम है] लाइन और आप एक ही स्थान पर "contentLabel" के बजाय "लेबल" का उपयोग करते हैं)। क्या आप वाकई वास्तविक कोड हैं? –
@ केविन Ballard: हाँ, लेबल काफी लंबा है। – adriaan