图文混排+标题换行

UILabel*label = [[UILabelalloc]init];
label.frame=CGRectMake(100,100,200,25);
label.backgroundColor= [UIColorredColor];
label.font= [UIFontsystemFontOfSize:14];
[self.viewaddSubview:label];

//图文混排
NSMutableAttributedString*attributedText = [[NSMutableAttributedStringalloc]init];

// 1-你好
NSAttributedString*frist = [[NSAttributedStringalloc]initWithString:@"你好"];
[attributedTextappendAttributedString:frist];

// 2-图片
//带有图片的附件对象
NSTextAttachment*attachment = [[NSTextAttachmentalloc]init];
attachment.image= [UIImageimageNamed:@"header_cry_icon"];
CGFloatlineH = label.font.lineHeight;
attachment.bounds=CGRectMake(0, -((label.dc_height- lineH) *0.5-1), lineH, lineH);

//将附件对象包装成一个属性文字
NSAttributedString*second = [NSAttributedStringattributedStringWithAttachment:attachment];
[attributedTextappendAttributedString:second];

// 3-哈哈哈
NSAttributedString*third = [[NSAttributedStringalloc]initWithString:@"哈哈哈"];
[attributedTextappendAttributedString:third];
label.attributedText= attributedText;

一个Label显示多行不同字体的文字

UILabel *label = [[UILabel alloc] init];
// 设置属性文字
NSString *text = @"你好\n哈哈哈";
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text];
[attributedText addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:10] range:NSMakeRange(0, text.length)];
[attributedText addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:NSMakeRange(3, 3)];
label.attributedText = attributedText;

// 其他设置
label.numberOfLines = 0;
label.textAlignment = NSTextAlignmentCenter;
label.frame = CGRectMake(0, 0, 100, 40);
[self.view addSubview:label];
self.navigationItem.titleView = label;

你可能感兴趣的:(图文混排+标题换行)