NSString *title = @"不得不说 YYKit第三方框架确实很牛,YYLabel在富文本显示和操作方面相当强大,尤其是其异步渲染,让界面要多流畅有多流畅,这里我们介绍下简单的使用"; //YYLabel 富文本 YYLabel *titleLabel = [YYLabel new]; //异步渲染 当一个label显示巨量文字的时候就能明显感觉到此功能的强大 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]; //对齐方式 这里是 两边对齐 resultAttr.yy_alignment = NSTextAlignmentJustified; //设置行间距 resultAttr.yy_lineSpacing = 5; //设置字体大小 resultAttr.yy_font = [UIFont systemFontOfSize:CONTENT_FONT_SIZE]; //可以设置某段字体的大小 //[resultAttr yy_setFont:[UIFont boldSystemFontOfSize:CONTENT_FONT_SIZE] range:NSMakeRange(0, 3)]; //设置字间距 //resultAttr.yy_kern = [NSNumber numberWithFloat:1.0]; return resultAttr; }
1.yylable自动布局 设置最大宽度,可换行
2.yylable的点击事件
3.yylable添加图片