UILable富文字

weixin_33895657發表於2016-08-17

富文字

NSString*str =@"人生若只如初見,何事秋風悲畫扇。\n等閒變卻故人心,卻道故人心易變。\n驪山語罷清宵半,淚雨霖鈴終不怨。\n何如薄倖錦衣郎,比翼連枝當日願。";NSMutableAttributedString*attrStr = [[NSMutableAttributedStringalloc] initWithString:str];

attrStr新增字型和設定字型的範圍

[attrStraddAttribute:NSFontAttributeName                value:[UIFontsystemFontOfSize:30.0f]                range:NSMakeRange(0,3)];

attrStr新增文字顏色

[attrStraddAttribute:NSForegroundColorAttributeName                value:[UIColorredColor]                range:NSMakeRange(17,7)];

attrStr新增下劃線

[attrStr addAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle]                range:NSMakeRange(8,7)];

段落樣式

NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];//行間距paragraph.lineSpacing =10;//段落間距paragraph.paragraphSpacing =20;//對齊方式paragraph.alignment = NSTextAlignmentLeft;//指定段落開始的縮排畫素paragraph.firstLineHeadIndent =30;//調整全部文字的縮排畫素paragraph.headIndent =10;

attrStr新增段落設定

[attrStr addAttribute:NSParagraphStyleAttributeNamevalue:paragraph                range:NSMakeRange(0, [str length])];NSString*urlStr =@"www.南瓜瓜.com";NSURL*url = [NSURLURLWithString:urlStr];

label新增連結

注意:label連結是可以顯示出來,但是點不了,有興趣的朋友可以試試。查資料發現textView是可以點選的,有shouldInteractWithURL代理方法回撥。

[attrStraddAttribute:NSLinkAttributeName                value:url                range:NSMakeRange(42,7)];

建立label

UILabel*label = [[UILabelalloc] initWithFrame:CGRectMake(60,100,200,0)];label.backgroundColor= [UIColorlightGrayColor];//自動換行label.numberOfLines=0;//設定label的富文字label.attributedText= attrStr;//label高度自適應[label sizeToFit];[self.viewaddSubview:label];

設定sizeToFit之後是可以取出label的高度的,這樣做label高度自適應。

CGFloatheight = label.frame.size.height;NSLog(@"height = %f",height);

相關文章