gpt4 book ai didi

ios - 根据表格 View 单元格中的内容更改 uilabel 高度

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:22 25 4
gpt4 key购买 nike

我想根据里面的文字扩展标签的高度。我将 tableviewcontroller 与静态单元格一起使用。

enter image description here

我在 tableview 单元格中有一个 UILabel,我设置了标签的顶部、底部、右侧和左侧约束。

我尝试了这些解决方案:

self.eDesc.numberOfLines = 0
self.eDesc.lineBreakMode = NSLineBreakMode.byWordWrapping
self.eDesc.sizeToFit()

self.tableView.estimatedRowHeight = 140
self.tableView.rowHeight = UITableViewAutomaticDimension

但他们都没有工作。

是否有任何其他方法(可能通过标签框更改大小)?

最佳答案

要为行高和估计行高设置自动尺寸,请确保按照以下步骤使自动尺寸对单元格/行高布局有效。我刚刚测试了以下步骤和代码并且工作正常。

  • 分配和实现 TableView 数据源和委托(delegate)
  • UITableViewAutomaticDimension 分配给 rowHeight 和 estimatedRowHeight
  • 实现委托(delegate)/数据源方法(即 heightForRowAt 并向其返回值 UITableViewAutomaticDimension)

-

@IBOutlet weak var table: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

// Don't forget to set dataSource and delegate for table
table.dataSource = self
table.delegate = self

// Set automatic dimensions for row height
// Swift 4.2 onwards
table.rowHeight = UITableView.automaticDimension
table.estimatedRowHeight = UITableView.automaticDimension


// Swift 4.1 and below
table.rowHeight = UITableViewAutomaticDimension
table.estimatedRowHeight = UITableViewAutomaticDimension

}



// UITableViewAutomaticDimension calculates height of label contents/text
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
// Swift 4.2 onwards
return UITableView.automaticDimension

// Swift 4.1 and below
return UITableViewAutomaticDimension
}

对于 UITableviewCell 中的标签实例

  • 设置行数=0(&换行模式=截尾)
  • 设置关于其父 View /单元格容器的所有约束(顶部、底部、左右)。
  • 可选:设置标签的最小高度,如果您希望标签覆盖的最小垂直区域,即使没有数据也是如此。

enter image description here

编辑:您必须缺少单元格中任何 UIElement 的顶部或底部或高度布局约束。确保单元格中的所有 UIElement 都具有有效的顶部和底部(以及高度,无论何时需要)约束附加到垂直(相邻)UIElement。

注意:如果您有多个具有动态长度的标签(UIElements),应根据其内容大小进行调整:为您选择的标签调整“Content Hugging and Compression Resistance Priority”想要以更高的优先级展开/压缩。

在此示例中,我设置了低拥抱和高压缩阻力优先级,这导致为第二个(黄色)标签的内容设置更高的优先级/重要性。

enter image description here

关于ios - 根据表格 View 单元格中的内容更改 uilabel 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264303/

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