gpt4 book ai didi

ios - 更改单元格高度后单元格文本标签未居中

转载 作者:行者123 更新时间:2023-11-29 05:49:40 25 4
gpt4 key购买 nike

我有一个 value1 类型的单元格,因为我的一些详细标签文本太长并且被截断,所以我正在更新单元格高度以适应文本。

但是更新高度后,我的文本标签位于左上角,而不是垂直位于中间。像这样:

==================         =====================
label => label
==================

=====================

有人知道如何解决这个问题吗?

编辑

更改高度的代码:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
var rowHeight=44.0
var numOfLines = 1;
if let cell = tableView.cellForRow(at: indexPath),let label = cell.detailTextLabel, let size = label.text?.size(withAttributes: [NSAttributedString.Key.font:label.font]){
let labelWidth = label.frame.width
label.textAlignment = .left
while(Int(size.width) > Int(labelWidth) * numOfLines){
rowHeight+=20;
numOfLines+=1
}
//becuase it was rounded down as int
numOfLines+=1
print("number of lines \(numOfLines)")
label.numberOfLines = numOfLines
label.lineBreakMode = .byCharWrapping
}
return CGFloat(rowHeight)
}

最佳答案

@Anna,我相信您的问题可以通过 UITableViewAutomaticDimension 解决。

只需确保标签的 numberOfLines 设置为 0 并且 heightForRowAtIndexPath 委托(delegate)方法应返回 UITableViewAutomaticDimension > 并且不要忘记为标签添加右、左、上和下约束。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
return UITableViewAutomaticDimension
}

请找到链接以获取更多引用: UITableViewAutomaticDimension

关于ios - 更改单元格高度后单元格文本标签未居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55814833/

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