【发布时间】: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 时,它一开始并不能解决问题,但如果我滚动过去令人不安的行并返回到它,它就会得到修复。
-
你能显示更多代码吗?你在集合视图上使用它吗?
-
是的,它是一个集合视图。不知道还有什么代码要显示。你有什么特别想看的吗?如果这很重要,我正在使用自动布局。
标签: ios nsstring uilabel sizetofit