大神请绕路~~~

  最近做一款应用的界面,页面是图片,文字,头像,地址,时间等随机排列组成的。

  这里简单记录,解决文字单独排版的解决方法,看了网上很多大神的博客分享内容。

  刚开始,使用了最常见的方法:

   在 cellForRowAtIndexPath 里面 赋值文字显示,

   在 heightForRowAtIndexPath 里面使用Category如下:

     

- (CGSize)boundingRectWithSize:(CGSize)size

{

NSDictionary *attribute = @{NSFontAttributeName: self.font};

CGSize retSize = [self.text boundingRectWithSize:size

options:\

NSStringDrawingTruncatesLastVisibleLine |

NSStringDrawingUsesLineFragmentOrigin |

NSStringDrawingUsesFontLeading

attributes:attribute

context:nil].size;

return retSize;

}

  计算出这段文字的高度,加上cell上其他图片之类的高度,返回高度值。

  应为cell上面的label是约束搞得 ,所以改变了cell得高度,label高度自然改变。

  后来,设计师要求更改文字行间距,查询N久,解决方法如下:

  

  

NSString *cntentText = @“水电费水电费的说法”;

if (cntentText) {

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:cntentText];;

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];

[paragraphStyle setLineSpacing:15];//行间距

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, cntentText.length)];

cell.concentText.attributedText = attributedString;

}

   之后需要在 heightForRowAtIndexPath 中计算加了行间距此段文字的高度:

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:detailContent];;

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];

[paragraphStyle setLineSpacing:15];//和上面对应

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, detailContent.length)];

cell.concentText.attributedText = attributedString;

CGSize size1 = CGSizeMake(kDECEIVE_WIDTH - 16 - 16, 5000);

CGSize labelSize = [cell.concentText sizeThatFits:size1];

return labelSize.height + 20;//加上其他内容占据的空间大小返回

  暂时解决,会继续想其他办法看能否简化下,可以需要支持iOS7,不能使用iOS8的cell自适应大小。

  继续搬砖解决字间距段间距的问题。

转载于:https://www.cnblogs.com/iOS-xiao-lei/p/4466225.html

UITableView的动态获取高度 排版相关推荐

  1. uniapp中自定义导航栏动态获取高度

    <template><view class="coutainer"><!-- 自定义导航栏空行 --><view class=" ...

  2. 动态改变UITableView中的Cell高度

    往往在开发iPhone的应用过程中用得最多的应该算是UITableVIew了,凭着IOS给UITableView赋予了这种灵活的框架结构,让它不管在显示列表方面还是在排版方面都有着一定的优势.虽然UI ...

  3. React结合虚拟列表VirtualList的动态获取列表项高度问题

    React结合虚拟列表VirtualList的动态获取列表项高度问题: 问题场景:页面查询大量数据的时候结合VirtualList也就是虚拟列表: 例如:手机通讯录查询联系人结合虚拟列表 问题描述: ...

  4. 微信小程序获取页面元素高度_微信小程序之动态获取元素宽高

    我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用 ...

  5. vue mixins(vue3 hooks)动态获取div高度

    之前转载过一篇文章: https://blog.csdn.net/qq_37167049/article/details/103084927 可以动态计算div 高度,但是比较繁琐的痛点是: 需要在每 ...

  6. JS动态获取DIV的宽度和高度px!

    JS动态获取div的宽度: var o = document.getElementById("div"); var width= o.clientWidth||o.offsetWi ...

  7. 动态获取并设置 iframe 自适应高度

    实际需求:页面中有一些固定元素 + 内嵌 iframe 页面,此时如果给 iframe 设置固定高度会导致 iframe 内部滚动,体验不佳. 于是需要动态获取 iframe 实际高度并设置,但有些 ...

  8. ios动态获取UILabel的高度和宽度

    在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法. 1.获取宽度,获取字符串不折行单行显示时所需要的长度 CGSize titleSize = [aSt ...

  9. UITableViewHeader 动态调整高度

    首先,标题党一枚,UITableViewHeader 是没有办法动态调整 But,我们可以通过重新赋值 Header 来达到动态调整的效果 示例 需求:header包含一个动态文本标签,具体内容多少可 ...

最新文章

  1. 熊猫烧香源代码(转载)
  2. linux无盘windows系统,Linux无盘启动Win2000终端
  3. CentOS7下安装zookeeper3.4.9
  4. 215. 数组中的第K个最大元素 golang
  5. mysql 清空表的两种方法
  6. Python之函数的参数
  7. Python 基础总结 6 张图 带你学习Python
  8. XmlReader 内部使用NameTable
  9. UVA 11504 Dominos 强连通分量
  10. 小米台灯底座接口很松_小米新品,米家充电台灯,续航40小时,不足百元,米粉:买买买...
  11. 统计通话次数和时间的软件_通话时间统计app下载-通话时间统计v2.5 安卓版-腾牛安卓网...
  12. 已解决:如何使用IDEA生成java帮助文档java doc?
  13. Lasergene DNASTAR 8.1.3 特别版 Mac 专业的医学生物综合性序列分析工具
  14. 怎么在mac下运行映像dmg_如何将Apple Mac OS X系统DMG镜像文件转换成ISO镜像文件呢?...
  15. DETR目标检测新范式带来的思考
  16. 整理了一下国外的搜索引擎 名字以及IP地址
  17. vmware使用桥接模式无法ping通本地和外网的解决方法
  18. 没错,中国程序员前景一片黑暗
  19. R语言读取(加载)txt格式数据为dataframe、按照指定字段(数据列)对dataframe进行升序排序(ascending)、返回行索引的位置向量
  20. 托物言志--在心为志,发言为诗。

热门文章

  1. Delphi 能不能从Ring 3进入Ring 0
  2. python_文件处理
  3. 将数据、代码、栈放入不同的段
  4. JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
  5. 【☘️C语言の单链表是否有环问题☘️】
  6. ${}和#{}的区别
  7. 【译】On Path Independence
  8. 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码
  9. Android Bander设计与实现 - 设计篇
  10. 关于fullcalendar里显示json格式的events(java)