gpt4 book ai didi

ios - UITableViewCell 布局和约束何时最终确定?

转载 作者:行者123 更新时间:2023-11-29 05:57:42 24 4
gpt4 key购买 nike

我的 TableViewCell 中有一个标签,我将设置它的文本并在单元格中抛出一个变量(例如 myText),如下所示:

class ProjectManagementTableViewCell: UITableViewCell {
@IBOutlet weak var myLabel: UILabel!

var myText: String? {
didSet {
if let _myText = self.myText {
self.myLabel.text = _myText
} else {
self.myLabel.text = ""
}
}
}

override func awakeFromNib() {
super.awakeFromNib()
}

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)

// Configure the view for the selected state
}
}

我没有在 InterfaceBuilder 中修复 myLabel 宽度大小,因此我希望它根据从 cellForRowAt 函数获取的文本来调整大小。到目前为止一切都很好。但我希望标签宽度小于某个值,除此之外,我还有一个图像,我希望该图像与标签文本末尾的距离为 10 pt。因此,在 UIElements 重新定位以响应将文本分配给标签后,我需要访问 UIElements 的标签宽度或位置。我尝试了几个位置来查找何时可以访问帧位置的新值,但失败了,例如 myText 的 awakeFromNib 和 didSet。那么什么时候我可以访问 UITableViewCell 中框架和约束的最终值?

最佳答案

其实你不需要

var myText: String? {
didSet {
if let _myText = self.myText {
self.myLabel.text = _myText
} else {
self.myLabel.text = ""
}
}
}

只需在里面分配文本

let cell = //
cell.lbl.text = "text_here"

或者在自定义单元类中创建一个配置函数并调用它

标签将根据当前约束调整大小

还有里面的最终帧

override func layoutSubviews()
super.layoutSubviews()
}

关于ios - UITableViewCell 布局和约束何时最终确定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54987064/

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