不得不說(shuō) YYKit 框架確實(shí)很牛仅父,其YYLabel
組件在富文本顯示和操作方面相當(dāng)強(qiáng)大慢哈,尤其是其異步渲染匣砖,讓界面要多流暢有多流暢布朦,這里我們介紹下簡(jiǎn)單的使用:
(常用的 計(jì)算label高度腿倚,自動(dòng)折行)
NSString *title = @"不得不說(shuō) YYKit第三方框架確實(shí)很牛纯出,YYLabel在富文本顯示和操作方面相當(dāng)強(qiáng)大,尤其是其異步渲染敷燎,讓界面要多流暢有多流暢暂筝,這里我們介紹下簡(jiǎn)單的使用";
//YYLabel 富文本
YYLabel *titleLabel = [YYLabel new];
//異步渲染 當(dāng)一個(gè)label顯示巨量文字的時(shí)候就能明顯感覺(jué)到此功能的強(qiáng)大
titleLabel.displaysAsynchronously = YES;
[self.view addSubView:titleLabel];
titleLable.numOfLines = 0;
YYTextContainer *titleContarer = [YYTextContainer new];
//限制寬度
detailContarer.size = CGSizeMake(100,CGFLOAT_MAX);
NSMutableAttributedString *titleAttr = [self getAttr:title];
YYTextLayout *titleLayout = [YYTextLayout layoutWithContainer:titleContarer text:titleAttr];
CGFloat titleLabelHeight = titleLayout.textBoundingSize.height;
titleLabel.frame = CGRectMake(50,50,100,titleLabelHeight);
- (NSMutableAttributedString*)getAttr:(NSString*)attributedString {
NSMutableAttributedString * resultAttr = [[NSMutableAttributedString alloc] initWithString:attributedString];
//對(duì)齊方式 這里是 兩邊對(duì)齊
resultAttr.yy_alignment = NSTextAlignmentJustified;
//設(shè)置行間距
resultAttr.yy_lineSpacing = 5;
//設(shè)置字體大小
resultAttr.yy_font = [UIFont systemFontOfSize:CONTENT_FONT_SIZE];
//可以設(shè)置某段字體的大小
//[resultAttr yy_setFont:[UIFont boldSystemFontOfSize:CONTENT_FONT_SIZE] range:NSMakeRange(0, 3)];
//設(shè)置字間距
//resultAttr.yy_kern = [NSNumber numberWithFloat:1.0];
return resultAttr;
}
這里只是簡(jiǎn)單介紹下YYLabel
的簡(jiǎn)單的用法,要實(shí)現(xiàn)類似微博的富文本形式 鏈接點(diǎn)擊 等等硬贯,使用YYLabel
也是超級(jí)方便的焕襟,大家可以自己去研究下...