gpt4 book ai didi

ios - 我的自定义单元格的标签大小不会改变,即使是硬编码值也是如此。什么可以阻止这种情况?

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:41 25 4
gpt4 key购买 nike

下面的代码块改变了 lblBody 的帧大小,似乎对我的 UITableViewCells 的影响为零。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


let cell = tableView.dequeueReusableCellWithIdentifier("ChatCell", forIndexPath: indexPath) as! ChatCellTableView
//cell.lblBody.font = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline)
cell.lblBody.text = msgSections[indexPath.section].msg[indexPath.row].text
cell.lblUsername.text = msgSections[indexPath.section].msg[indexPath.row].username
cell.lblTime.text = msgSections[indexPath.section].msg[indexPath.row].time

cell.lblBody.frame.size.height = 900
cell.lblBody.textColor = UIColor.greenColor()

return cell
}

当我构建并运行我的应用程序时,我的 UITableViewCell 标签的大小与 Storyboard编辑器中的标签大小完全相同。我已经使用“clear constrains”命令删除了所有约束,但出于某种原因,我的 uilabel 仍然根据 Storyboard设置它们的大小。

我将文本颜色设置为丑陋的绿色,作为完整性检查。我的 uilabel 的颜色是绿色的,它们的文本是正确的,除了标签的大小之外的所有内容似乎都受到影响。

我需要这个,因为返回要在 UILable 中显示的文本的数组还包含标签正常工作所需的精确宽度和高度。

更新:

我发现的另一件奇怪的事情是,在 RAM 中,当我打印以下内容时,我的 lblBody 的高度是正确的:

    print("THE CURRENT HEIGHT: ")
print(cell.lblBody.frame.size.height)
return cell

当我构建并运行应用程序并滚动单元格时,我得到以下输出:

THE CURRENT HEIGHT: 
900.0
THE CURRENT HEIGHT:
900.0
THE CURRENT HEIGHT:
900.0
THE CURRENT HEIGHT:
900.0

所以看起来 UILabel 的属性中的高度已正确设置,但我没有看到高度为 900 的 UILabel。我的所有 UILabel 的大小都与它们在 Storyboard编辑器中显示的大小相同。重新加载/刷新 tableview 的数据并不能解决这里的问题。

最佳答案

您的单元格的实际绘制发生在 cellForRowAtIndexPath 发生之后。要在设置边界后进行控制,我建议您查看在 override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) 方法中修改标签。

关于ios - 我的自定义单元格的标签大小不会改变,即使是硬编码值也是如此。什么可以阻止这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822475/

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