gpt4 book ai didi

ios - 自动调整 uitableviewcell 的大小 - SWIFT

转载 作者:行者123 更新时间:2023-11-28 07:07:13 24 4
gpt4 key购买 nike

我正在尝试根据可以是一行或多行的 UILabel 的大小调整 tableviewcell 的大小。我需要为应用程序的其余部分打开自动布局,所以我不想关闭它来让它工作。目标是 iOS 7 和 iOS 8。

我尝试了几种解决方案,但由于某种原因,我似乎无法获得正确的标签高度来自动调整或调整单元格高度。

问题出现在这个方法中:calculateHeightForConfiguredSizingCell。我已经在 Git 上放了一个示例项目,所以你可以看到我所看到的。

https://github.com/mdaymond/cellResizer

此示例基于这篇文章:http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout

更新我检查了代码的更新。它几乎按照我想要的方式工作并以编程方式计算,但由于某种原因,标签高度的大小不正确 - 它没有获得所需的完整高度。原始代码的问题是标签需要明确的宽度。

最佳答案

我们开始吧,如果您支持 IOS 7,那么您需要在您的类中实现 UITableViewDelegate 协议(protocol),然后覆盖:

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

}

有关基于标签文本长度的动态自定义 UITableViewCell 高度的更多信息(查看此内容),您可以将代码放在 heightForRowAtIndexPath 函数中: height based on label text length

同时覆盖:

 func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
// example to return the estimated height
return 280
}

注意:通过支持 IOS 7,您应该手动处理它。没有比 IOS 8 更简单的方法了。

但是如果你只支持IOS 8及更高版本那么你可以简单地在以下两行中完成:

self.tableView.estimatedRowHeight = 280
self.tableView.rowHeight = UITableViewAutomaticDimension

关于ios - 自动调整 uitableviewcell 的大小 - SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30052930/

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