gpt4 book ai didi

ios - 获取单元格项目框架的更新 x 坐标

转载 作者:行者123 更新时间:2023-11-30 12:21:30 24 4
gpt4 key购买 nike

我试图在设置文本后获取 UITableViewCellUILabel 框架的 x 。我需要这个来向单元格添加一些带有背景颜色的 subview ,所以我需要在单元格显示之前知道单元格的x和宽度。

因此,我在 cellForRowAtIndexPath 中为单元格中的标签设置新文本,并尝试获取标签框架的 x:

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

cell.label.text = "new text"
var x = CGRectGetMinX(cell.label.frame)
}

当然,在设置新文本后,我无法准确获取更新标签的正确的x,因此我尝试将其放入willDisplayCell中:

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

var x = CGRectGetMinX(cell.label.frame)
}

但是var x仍然是错误的。

这也不起作用:

class MyCell : UITableViewCell{
@IBOutlet weak var label: UILabel!

override func layoutSubviews() {
super.layoutSubviews()

var x = CGRectGetMinX(label.frame)
}
}

另外,我想指出所有这些方法在第一次显示期间不起作用,但是如果我将一些单元格滚动到底部然后滚动回顶部,则上部单元格会正确显示(并且我得到正确的 x )。

如何在显示设置 subview 之前获得正确的单元格xwidth

最佳答案

设置标签文本后,尝试布局标签以获取更新的框架:

cell.label.text = "new text"
cell.label.layoutIfNeeded() //layout label
var x = CGRectGetMinX(cell.label.frame)

关于ios - 获取单元格项目框架的更新 x 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44739917/

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