SDAutoLayout icon indicating copy to clipboard operation
SDAutoLayout copied to clipboard

您好,cell的高度自适应中,cell内内容是根据富文本的高度自动适应,出现了高度计算不正确

Open LYluyu opened this issue 7 years ago • 9 comments

您好,在使用cell的高度自适应中,我的cell内容根据Label的富文本决定的,若TableView通过alloc init来创建,在iOS 8和iOS 9会出现cell的高度计算不正确,如果通过xib或者SB添加一个TableView就不会出现这个问题,Label的isAttributedContent = YES;已经设置,具体请看我demo,demo链接如下: https://github.com/LYluyu/SDAutoLayoutDemo

LYluyu avatar May 12 '18 05:05 LYluyu

请问你解决了吗

ange521 avatar May 14 '18 15:05 ange521

修改

  • (void)layoutAutoHeightWidthView:(UIView *)view model:(SDAutoLayoutModel *)model { if ([view.autoHeightRatioValue floatValue] > 0) { view.height_sd = view.width_sd * [view.autoHeightRatioValue floatValue]; } else { if ([view isKindOfClass:[UILabel class]]) { UILabel *label = (UILabel *)view; label.numberOfLines = 0; CGFloat witdh = label.width_sd; if (label.text.length) { if (!label.isAttributedContent) { CGRect rect = [label.text boundingRectWithSize:CGSizeMake(label.width_sd, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName : label.font} context:nil]; label.height_sd = rect.size.height + 0.1; } else { [label sizeToFit]; label.width_sd = witdh; } } else { label.height_sd = 0; } } else { view.height_sd = 0; } } } Label的isAttributedContent = YES,numberOfLines = 0;

yehuaqiang avatar Jun 19 '18 08:06 yehuaqiang

楼上的大哥,还是不行啊

LYluyu avatar Jun 21 '18 07:06 LYluyu

哪里不可以啊@LYluyu

yehuaqiang avatar Jun 21 '18 07:06 yehuaqiang

我把你发的代码复制了进去了呀,但是在iOS8上运行还是一样的呀

LYluyu avatar Jun 21 '18 15:06 LYluyu

能否发一份你修改好的demo给我看看,我邮箱:[email protected],谢谢啦

LYluyu avatar Jun 21 '18 15:06 LYluyu

我加你QQ吧demo太麻烦了@LYluyu

yehuaqiang avatar Jun 22 '18 00:06 yehuaqiang

加不了你@LYluyu

yehuaqiang avatar Jun 22 '18 00:06 yehuaqiang

抱歉哈,那加这个QQ:84536104@yehuaqiang

LYluyu avatar Jun 22 '18 00:06 LYluyu