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添加圖片佈局