美文网首页
Bug之估算高度

Bug之估算高度

作者: 喵呜呜喵 | 来源:发表于2017-04-14 18:58 被阅读0次

最近也开始看一些编程之外的书籍了, 比如在看的<<软技能--代码之外的生存指南>>中, 看到了一些非常有用的建议, 比如说记工作日志什么的对自己将来的职业发展都有很大的帮助云云, 确实, 自己也意识到在自学的过程中, 光有输入的过程是不够的,还需要更多的输出, 不管是敲代码还是像现在这样记录Bug, 都是对学习到的知识的巩固, 其实应该早就开始类似的这种记录的, 不过现在开始也还不算太晚, 废话就不多说了, 开始抓第一只虫子之旅.

先描述下这个问题:在从返回的数据中明明已经能够确认返回的图片是一张大图, 而且在TopItems中已经修改其大图属性为YES, 但是在真正根据大图属性修改其填充模式时(由UIViewContentModeScaleToFill 修改为 UIViewContentModeTop不想截图了, 具体参考YYHTopicPictutrView中50-73行内容), 并没有出现预期的界面.

解决过程:先在YYHTopicPictutrView 49行打印大图属性, 发现其为NO, 但是在YYHTopicsItem 34行时, 已经将其修改为了YES, 为什么在用到它时, 还是NO呢?遂在两处都打上了断点再次运行发现竟然是先调用的YYHTopicPictutrView 49行, 并没有来到YYHTopicsItem 34行.找到这个原因后, 分析YYHTopicsItem 34行是在cellHeight方法中, 而cellHeight会是在tableView中计算所有的cell的高度中调用,返回每一行的准确高度,该方法会在一开始就计算所有cell的高度,因为需要在一开始就知道contentSize,并且当每行cell将要出现在屏幕上时,也会调用该方法.- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath; 按道理不应该会出现49行先于34调用的情况出现, 后来想到之前设置过每一行cell的 估算高度, 而一旦设置了每行cell的估算高度后, 就不会在一开始调用- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath;方法中一开始计算一遍所有cell的高度, 所以才会出现以上问题, 当注释掉设置的估算高度, 问题马上解决.

相关文章

  • Bug之估算高度

    最近也开始看一些编程之外的书籍了, 比如在看的<<软技能--代码之外的生存指南>>中, 看到了一些非常有用的建议,...

  • UITableView方法的执行顺序

    UITableView方法执行顺序一、估算方法实现 估算高度不为0 二、估算方法实现 估算高度为0 设置表头...

  • tableView中设置估算高度estimatedRowHeig

    设置估算高度

  • bug之屏幕高度

    今天遇到一个问题,是关于屏幕高度的问题,可能平时疏忽了,没能引起重视。 iphone6plus的屏幕高度是736像...

  • 估算题

    1亿张彩票堆叠起来的高度 分析堆叠高度=每张彩票的厚度x数量。需要估算每张彩票的厚度。 估算彩票的厚度略接近扑克牌...

  • 日常开发问题合集

    1. collectionView使用estimatedItemSize自适应估算高度,contentsize计算...

  • task11

    万恶的bug之源height:100px 固定高度width: 100% 宽度百分之百 1高度是由什么决定的-...

  • tableview cell自动计算高度

    ios8+ 1,连一根底部间距的线 2,估算高度 3,自动算高度

  • Element 小问题记录

    Element UI框架bug:Element UI级联选择器高度bug解决 (原文链接)

  • AutoLayout 踩坑记录

    1、UIImageView 如果设置了image会自动估算高度,当页面中包含label,而label的高度是自适应...

网友评论

      本文标题:Bug之估算高度

      本文链接:https://www.haomeiwen.com/subject/gehgattx.html