经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
AttributedString 图片间距问题
来源:cnblogs  作者:鸿鹄当高远  时间:2019/5/27 8:48:22  对本文有异议

 

1.NSMutableAttributedString如何显示图片

  1. NSMutableAttributedString *vipStr = [[NSMutableAttributedString alloc]initWithString:@"点击解锁【超级方法】"];
  2. UIImage *vipImage = [UIImage imageNamed:@"WordDetailNor解锁"];
  3. NSTextAttachment *vipImageAttachment = [[NSTextAttachment alloc]init];
  4. vipImageAttachment.image = vipImage;
  5. vipImageAttachment.bounds = CGRectMake(0, 0, 13, 15);
  6. NSAttributedString *vipImageAttrStr = [NSAttributedString attributedStringWithAttachment:vipImageAttachment];
  7. [vipStr insertAttributedString:vipImageAttrStr atIndex:0];
  8. //设置字体和设置字体的范围
  9. [vipStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.0f] range:NSMakeRange(0, vipStr.length)];
  10. [self.noteLabel setAttributedText:vipStr];

效果图:

 

2、图片和字体紧密相连、如何让图片和文字间有间隙呢?

修改

  1. vipImageAttachment.bounds = CGRectMake(-5, 0, 13, 15);

会把图片前移、但是图片显示不全

效果图:

 

3、设置图片间以及文字间距 

新增代码

  1. [vipStr addAttribute:NSKernAttributeName value:@(10) range:NSMakeRange(0, vipStr.length)];

 
设置文字间距效果图

 

效果并不理想,只有文字受到NSKernAttributeName属性影响。图片间距保持原样。

 

4、在每张图片后面添加空格,设置空格间文字间距、解决问题

  1. //设置空格文本
  2. [vipStr insertAttributedString:[[NSAttributedString alloc] initWithString:@" "] atIndex:1];
  3. //设置间距
  4. [vipStr addAttribute:NSKernAttributeName value:@(8)
  5. range:NSMakeRange(1,1)];

 效果图:

 

最终采用最后一个骚操作、解决问题!

 

 

 

原文链接:http://www.cnblogs.com/jukaiit/p/10863610.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号