Open ysjxys opened 7 years ago
+1 特别是大量文字的展开收起有很大的问题
是的,文字计算高度时会有留白。
iOS 10.3 以后,如果调用系统的 systemLayoutSizeFittingSize 方法,系统会自动给 contentView 加 width height 两个约束,这两个约束的值跟 xib 的 view size 一样。
这就导致了自定义 cell 中一个可变高度 label 的宽度约束依赖 contentView 的宽度时,而 contentView 有个错误的宽度约束,导致计算错误。
FDTemplateLayoutCell 1.6 版本增加了 padding 约束,但是相比系统增加的宽度约束优先级 -1,不能解决这个问题。
因为是contentView 的witdh 和 height 约束的问题。 在添加约束的时候,不去依赖content的width自己计算约束的width。
[questionLabel mas_updateConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.contentView.mas_left).offset(30 * SCALE);
// make.right.equalTo(self.contentView.mas_right).offset(-30 * SCALE);
make.width.mas_equalTo(SCREENWIDTH - 60 * SCALE);// 不依赖contentWidth, 自己计算
make.top.equalTo(self.contentView.mas_top).offset(20 * SCALE);
}];
虽然是一个治标不治本的方法,但是目前能较好解决我遇到的问题。
期待能尽快解决bug。
我也遇到这个问题 我用的版本是1.4 也有折叠展开 上面这哥们说的很对 我也用这个方法 暂时解决了
+1
1.6版本ios10.3 是的 Masonry 也会出现这个问题 最后宽度只能这样写 make.width.mas_equalTo(SCREEN_WIDTH-16*2); 才解决了
今天也发现了同样的问题
环境: 1.6版本 ios10.3 6s模拟器 xcode 8.3.1 SnapKit 3.2.0
描述:cell的contentView内只有left、right、top、bottom均与superview对齐的一个label,label的text为145个字符及以下时,自适应高度显示正常,而当字符数量为146时,label的top与bottom均出现10db左右的留白,之后在290个字符时会再增加一层留白,再往后留白会随字符数继续增加,具体跳跃字符数没继续测了
重现频率:100%