您的位置:首页 > 移动开发 > IOS开发

ios开发--图文混排(富文本)

2017-06-24 10:43 323 查看
最近准备接一个编辑类的app,所以就查了下相关的功能,并自己试验了下:

/**
iOS6之前:CoreText,纯C语言,极其蛋疼
iOS6开始:NSAttributedString,简单易用
iOS7开始:TextKit,功能强大,简单易用
*/


具体代码:

-(void)setupTextView
{
//富文本技术:
//1.图文混排
//2.随意修改文字样式
//self.textView.text=@"哈哈4365746875";
//self.textView.textColor=[UIColorblueColor];
NSMutableAttributedString*string=[[NSMutableAttributedStringalloc]initWithString:@"哈哈🌺123456"];
//设置“哈哈”为蓝色
[stringaddAttribute:NSForegroundColorAttributeNamevalue:[UIColorblueColor]range:NSMakeRange(0,2)];
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontsystemFontOfSize:30]range:NSMakeRange(0,2)];
[stringaddAttribute:NSBackgroundColorAttributeNamevalue:[UIColorredColor]range:NSMakeRange(0,2)];

//设置“456”为红色
[stringaddAttribute:NSForegroundColorAttributeNamevalue:[UIColorredColor]range:NSMakeRange(6,2)];
[stringaddAttribute:NSFontAttributeNamevalue:[UIFontboldSystemFontOfSize:24]range:NSMakeRange(6,2)];
[stringaddAttribute:NSUnderlineStyleAttributeNamevalue:@(NSUnderlineStyleSingle)range:NSMakeRange(6,2)];

//创建图片图片附件
NSTextAttachment*attach=[[NSTextAttachmentalloc]init];
attach.image=[UIImageimageNamed:@"d_aini.jpeg"];
attach.bounds=CGRectMake(10,12,50,50);
NSAttributedString*attachString=[NSAttributedStringattributedStringWithAttachment:attach];

[stringappendAttributedString:attachString];

[stringappendAttributedString:[[NSAttributedStringalloc]initWithString:@"789"]];

self.descTV.attributedText=string;

/**
iOS6之前:CoreText,纯C语言,极其蛋疼
iOS6开始:NSAttributedString,简单易用
iOS7开始:TextKit,功能强大,简单易用
*/
}


效果图如下:



图片是我自己添加的,再加上boundsize那个方法,完全可以满足需求!


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: