tableview 单元格我们如何快速调整单元格的大小以及图像和标签
Posted
技术标签:
【中文标题】tableview 单元格我们如何快速调整单元格的大小以及图像和标签【英文标题】:tableview cell how do we resize cell in swift along with image and label 【发布时间】:2016-10-06 05:55:35 【问题描述】:当我们在 tableview 单元格中有一个标签和图像时,我们如何根据最后一个单元格中的文本(在图片中)快速或标签调整单元格的大小,还有更多的文本行,但文本正在切断如何我们解决它
【问题讨论】:
到目前为止你尝试了什么,你去了哪些链接?请分享。因为它已经被问过好几次了。 tableView.estimatedRowHeight = 100.0 tableView.rowHeight = UITableViewAutomaticDimension 我试过这个,但它只适用于标签,但我也有图像。图片被包裹不显示 【参考方案1】:给你的标签高度更大的约束,并将线设置为 0。
var pickheight: CGFloat = 0.0
将这一行写入
override func viewDidLoad()
super.viewDidLoad()
tableTrip.rowHeight = UITableViewAutomaticDimension
增加tableview单元格的方法。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
pickheight = self.findHeightForText("Pass your text here like array value as String ", havingWidth: self.view.frame.size.width - 116, andFont: UIFont.systemFontOfSize(14.0)).height
return "YOUR_DEFALUT_CELL_SIZE" + pickheight
为单元格查找文本高度的方法..
func findHeightForText(text: String, havingWidth widthValue: CGFloat, andFont font: UIFont) -> CGSize
var size = CGSizeZero
if text.isEmpty == false
let frame = text.boundingRectWithSize(CGSizeMake(widthValue, CGFloat.max), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
size = CGSizeMake(frame.size.width, ceil(frame.size.height))
return size
【讨论】:
【参考方案2】:-
为您的标签设置顶部、底部、前导、尾随约束
将 Attribute Inspector->lines 设置为 0
在viewDidLoad()方法中设置tableview.rowHeight = UITableViewAutomaticDimension
【讨论】:
【参考方案3】:你真正需要做的就是:
-
在创建表格视图单元格时使用自动布局。
将表格视图的 rowHeight 设置为 UITableViewAutomaticDimension。
设置estimatedRowHeight或实现高度估计委托方法。
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 200 // Set maximum height needed for the table row
让自动布局在 UITableViewCell 上工作的技巧是确保您有约束将每个子视图固定在所有侧面 - 也就是说,每个子视图应该具有前导、顶部、尾随和底部约束.然后,子视图的固有高度将用于指示每个单元格的高度。
请阅读本文了解详细信息和工作示例:https://www.raywenderlich.com/129059/self-sizing-table-view-cells
【讨论】:
以上是关于tableview 单元格我们如何快速调整单元格的大小以及图像和标签的主要内容,如果未能解决你的问题,请参考以下文章
根据内容动态调整tableview单元格的高度 - iOS Swift
如果一切都是以编程方式创建而不使用情节提要,如何以编程方式调整 TableView 中单元格的高度?
UICollectionViewController 如何调整单元格的大小?
如何从 tableview 的单元格中删除 imageView,并重置单元格的高度