AttributedString 图片间距问题
程序员文章站
2022-04-15 15:56:25
1.NSMutableAttributedString如何显示图片 效果图: 2、图片和字体紧密相连、如何让图片和文字间有间隙呢? 修改 会把图片前移、但是图片显示不全 效果图: 3、设置图片间以及文字间距 新增代码 设置文字间距效果图 设置文字间距效果图 效果并不理想,只有文字受到NSKernAt ......
1.nsmutableattributedstring如何显示图片
nsmutableattributedstring *vipstr = [[nsmutableattributedstring alloc]initwithstring:@"点击解锁【超级方法】"]; uiimage *vipimage = [uiimage imagenamed:@"worddetailnor解锁"]; nstextattachment *vipimageattachment = [[nstextattachment alloc]init]; vipimageattachment.image = vipimage; vipimageattachment.bounds = cgrectmake(0, 0, 13, 15); nsattributedstring *vipimageattrstr = [nsattributedstring attributedstringwithattachment:vipimageattachment]; [vipstr insertattributedstring:vipimageattrstr atindex:0]; //设置字体和设置字体的范围 [vipstr addattribute:nsfontattributename value:[uifont systemfontofsize:15.0f] range:nsmakerange(0, vipstr.length)]; [self.notelabel setattributedtext:vipstr];
效果图:
2、图片和字体紧密相连、如何让图片和文字间有间隙呢?
修改
vipimageattachment.bounds = cgrectmake(-5, 0, 13, 15);
会把图片前移、但是图片显示不全
效果图:
3、设置图片间以及文字间距
新增代码
[vipstr addattribute:nskernattributename value:@(10) range:nsmakerange(0, vipstr.length)];
效果并不理想,只有文字受到nskernattributename
属性影响。图片间距保持原样。
4、在每张图片后面添加空格,设置空格间文字间距、解决问题
//设置空格文本 [vipstr insertattributedstring:[[nsattributedstring alloc] initwithstring:@" "] atindex:1]; //设置间距 [vipstr addattribute:nskernattributename value:@(8) range:nsmakerange(1,1)];
效果图:
最终采用最后一个骚操作、解决问题!