UILabel 不显示所有内容
Posted
技术标签:
【中文标题】UILabel 不显示所有内容【英文标题】:UILabel not displaying everything 【发布时间】:2016-04-01 16:59:51 【问题描述】:我对这个很迷茫。
这是镜头:
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吗?
【问题讨论】:
你试过 sizeToFit 吗? 你看我的问题了吗?我已经说过我试过了。当我使用 sizeToFit 时,它一开始并不能解决问题,但如果我滚动过去令人不安的行并返回到它,它就会得到修复。 你能显示更多代码吗?你在集合视图上使用它吗? 是的,它是一个集合视图。不知道还有什么代码要显示。你有什么特别想看的吗?如果这很重要,我正在使用自动布局。 ***.com/a/13032251/2164705看看这个 【参考方案1】:我发现我可以通过更改默认高度约束常量来解决这个问题。我显着降低了它(它足够大以至于它接触到 Cell.xib 视图的底部。我将它与上面的视图间隔了 1 个像素,降低了 IB 中的默认高度约束常量并将类型从等于大于或等于。这些东西结合起来(我不确定是哪个,如果不是全部)似乎已经解决了这个问题。
【讨论】:
以上是关于UILabel 不显示所有内容的主要内容,如果未能解决你的问题,请参考以下文章