0

我对这个很迷茫。

这是镜头:

在此处输入图像描述

Tea's Tea Matcha 的价格正在被砍掉。我根本不知道为什么。

我正在使用 boundingRectWithSize:...

当我在调用 layoutIfNeeded 后记录标签框架的高度时,它是每个相应框架的高度:与 boundingRect.size.height 相同的高度。

另外,当我记录标签的文本时,价格在日志中,所以也不是这样。

只是这个和数百个其他标签有这个问题,我不知道为什么。

这是我设置标签高度的代码:

CGRect boundingRect = [self.nameLabel.attributedText boundingRectWithSize:CGSizeMake(self.frame.size.width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin context:nil];

self.nameLabelHeightConstraint.constant = ceil(boundingRect.size.height);
[self layoutIfNeeded];

我注意到的一件事 - 如果我不是使用 boundingRect 计算高度并手动设置它,而是在标签上使用 sizeToFit,它会遇到同样的问题,但是如果我滚动过去并返回它,它是固定的并且价格出现在下面.

有人知道wtf在这里发生吗?

4

1 回答 1

0

我发现我可以通过更改默认高度约束常量来解决这个问题。我显着降低了它(它足够大以至于它接触到 Cell.xib 视图的底部。我使它与上面的视图间隔更近 1 个像素,降低了 IB 中的默认高度约束常数并将类型从等于大于或等于。这些东西结合起来(我不确定如果不是全部的话)似乎已经解决了这个问题。

于 2016-04-01T20:37:12.170 回答