UILabel没有显示所有内容

时间:2016-04-01 16:59:51

标签: ios nsstring uilabel sizetofit

我对这一点感到非常失落。

以下是镜头:

enter image description here

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正在进行吗?

1 个答案:

答案 0 :(得分:0)

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