ios - 调整 UITableViewCell 中的 UILabel 显示错误

标签 ios uitableview resize uilabel

我有一个自定义的 UITableViewCell,它有一个具有动态高度的 UILabel,具体取决于它的内容。

UILabel 的大小调整效果很好,但 UILabel 没有正确显示它的内容。内容包含在 1 或 2 行内,即使它在框架中有空间也是如此。

但是 如果我滚动 UITableView 并返回到那些单元格,一切都会完美显示。

我希望单元格从一开始就正确显示而无需滚动。

以下是滚动前后的一些屏幕截图: UILabels (in blue) before scrolling

UILabel (in blue) after scrolling

这是我用来调整 UILAbel 大小的代码:

CGSize expectedLabelSize = [titleText sizeWithFont:titleLabel.font
                            constrainedToSize:maximumLabelSize
                                lineBreakMode:titleLabel.lineBreakMode];
CGRect newFrame = titleLabel.frame;
newFrame.origin.y = 10;
newFrame.size.height = expectedLabelSize.height;
titleLabel.frame = newFrame;
accumulatedY += (expectedLabelSize.height + PADDING);

expectedLabelSize = [empresatext sizeWithFont:empresaLabel.font
                                 constrainedToSize:maximumLabelSize
                                     lineBreakMode:empresaLabel.lineBreakMode];
newFrame = empresaLabel.frame;
newFrame.size.height = expectedLabelSize.height;
newFrame.origin.y = accumulatedY;
empresaLabel.frame = newFrame;
accumulatedY += (expectedLabelSize.height + PADDING);

最佳答案

我通过在“cellForRowAtIndexPath”中以编程方式创建 UILabel 来“解决”这个问题,正如该线程中的建议:UILabel in a UITableViewCell With Dynamic Height

仍然对为什么这不适用于在 InterfaceBuilder 中创建的 UILabel 感到好奇:/

关于ios - 调整 UITableViewCell 中的 UILabel 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944055/

相关文章:

ios - 我如何才能访问 iOS 的 '~/Applications'?

ios - 管理登录 IOS App 的用户

ios - 支持信用卡的 Paypal MPL SDK

ios - Tableview 与自定义 UIView ,添加标签重叠

ios - 在TableView中的 View Controller 之间传递数据

jqgrid全屏切换,窗口宽高

dialog - 是否可以调整 Visual Studio 中固定对话框的大小?

php - 如何保护 iOS 应用程序和服务器之间的流量?

ios - 在异步方法中准备好数据后如何重新加载 TableView 的数据

javascript - jQuery 在后面调整大小