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,并重置单元格的高度

快速单击其中一个 tableview 单元格内的按钮后重新加载 tableview

如何快速按下所选单元格的IndexPath