gpt4 book ai didi

ios - UITableViewCell 动态高度不适用于大小类

转载 作者:可可西里 更新时间:2023-11-01 03:01:06 26 4
gpt4 key购买 nike

设置 UITableViewestimatedRowHeightrowHeight 使表格 View 计算每个单元格的适当高度。在我使用尺寸等级之前,这就像一个魅力。似乎所有的计算都是针对 Any/Any size 类进行的,稍后会应用更大的字体。因此,单元格的高度计算不正确,标签不适合。

这是我的代码:

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.estimatedRowHeight = 50
self.tableView.rowHeight = UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Reuse", forIndexPath: indexPath) as! MyTableViewCell
println("Label font size: \(cell.myLabel.font)") // it prints (...)font-size: 11.00pt for all the size classes
return cell
}
}

布局看起来像这样: Table view layout

而size classes的用法是: Font size classes

现在,当我在 iPhone 上打开该应用程序时,一切看起来都和预期的一样。但在 iPad 上,单元格未正确调整大小。事实上,如果字体大小为 11pt 而不是 40pt,它们会调整大小以适合文本。

问题是:如何在应用尺寸等级后强制执行计算?

我已经按照以下建议尝试了覆盖特征集合的技巧:https://stackoverflow.com/a/28514006但它没有用。我的意思是,大小类被正确读取(常规/常规)但字体大小仍然是 11pt。

您可以从 Github 下载这个简单的项目:https://github.com/darecki/TableViewTest

截图:

  • iPhone 4s:

enter image description here

  • iPad 2:

enter image description here

  • 调用 tableView.reloadData() 后的 iPad 2:

enter image description here

编辑:格式化,添加 Github 链接。

最佳答案

在 Interface Builder -> Size inspector 中设置标签的首选最大宽度。这为我解决了这个问题。还要确保行数为 0。

关于ios - UITableViewCell 动态高度不适用于大小类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695565/

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