gpt4 book ai didi

ios - 在滚动 UITableView 之前,UITableCell 中的 UILabel 的大小不正确

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:13 26 4
gpt4 key购买 nike

有一个问题,即 UITableViewCell 中自动调整大小的 UILabel 在加载 View 时具有不正确的框架,但在表格滚动时标签大小神奇地更新,因此框架是正确的。

这里是单元格内标签的约束,这里没有歧义,所以表格应该自动选择大小没问题:

enter image description here

我也在代码中配置了一些 UI,如下所示:

[self.label setText:localFieldObject.value];
[self.label setDelegate:self];
[self.label setLineBreakMode:NSLineBreakByWordWrapping];
[self.label setNumberOfLines:0];
[self.label layoutIfNeeded];

请注意,如果我在 layoutIfNeeded 上中断,尽管刚刚设置了行数,但它还是 nil。然而,self.label 确实有一个值。

我还利用 View 调试器检查滚动前后的帧,看起来单元格在这两种情况下的大小都正确,但单元格内标签的框架发生了变化,但约束没有改变。我尝试了类似问题的各种建议,但到目前为止还没有解决问题。

如果您有任何进一步的信息想问;提前致谢。

最佳答案

您需要在返回单元格之前调用[cell layoutIfNeeded]; 以强制进行布局。

根据我的经验,尽量避免将布局代码放在 awakeFromNib 中,因为这可能会在向用户显示 View 之前被覆盖。通常,您不需要在返回单元格之前调用 layoutIfNeeded,但在某些情况下,您需要在 cellForRow 的末尾执行此操作。

关于ios - 在滚动 UITableView 之前,UITableCell 中的 UILabel 的大小不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com