有时候我们写UI的时候经常会遇到这样的情况 就是图片和文字离的较近 或者文字排版在一行但是字体大小或者颜色不一样 这时候如果写不同的Label或者是不同的控件就会很麻烦 。 我们经常会使用NSMutableAttributedString来简化
总结经常使用的NSMutableAttributedString一些样式
NSFontAttributeName;(字体)
NSParagraphStyleAttributeName;(段落)
NSForegroundColorAttributeName;(字体颜色)
NSBackgroundColorAttributeName;(字体背景色)
NSLigatureAttributeName;(连字符)
NSKernAttributeName;(字间距)
NSStrikethroughStyleAttributeName;(删除线)
NSUnderlineStyleAttributeName;(下划线)
NSStrokeColorAttributeName;(边线颜色)
NSStrokeWidthAttributeName;(边线宽度)
NSShadowAttributeName;(阴影)(横竖排版)
NSFontAttributeName;(字体) NSParagraphStyleAttributeName;(段落) NSForegroundColorAttributeName;(字体颜色) NSBackgroundColorAttributeName;(字体背景色) NSLigatureAttributeName;(连字符) NSKernAttributeName;(字间距) NSStrikethroughStyleAttributeName;(删除线) NSUnderlineStyleAttributeName;(下划线) NSStrokeColorAttributeName;(边线颜色) NSStrokeWidthAttributeName;(边线宽度) NSShadowAttributeName;(阴影)(横竖排版)
//图文混排 NSMutableAttributedString *attText =[[NSMutableAttributedString alloc] init]; //设置文本样式 NSMutableDictionary *dic1 =[NSMutableDictionary dictionary]; dic1[NSUnderlineStyleAttributeName] =@1; NSAttributedString *first =[[NSAttributedString alloc] initWithString:@"hello" attributes:dic1]; [attText appendAttributedString:first]; //设置文本样式 NSMutableDictionary *dic =[NSMutableDictionary dictionary]; dic[NSFontAttributeName] =[UIFont systemFontOfSize:20]; dic[NSForegroundColorAttributeName] =[UIColor orangeColor]; NSAttributedString *third =[[NSAttributedString alloc] initWithString:@"这是一个实验" attributes:dic]; [attText appendAttributedString:third]; label.attributedText =attText;
可以用这个NSTextAttachment类来设置图片和文字的混合添加 NSTextAttachment *text =[[NSTextAttachment alloc] init]; text.image =[UIImage imageNamed:@"视频1.png"];