当前位置: 首页 > 知识库问答 >
问题:

Swift - 单元格表格视图,内部有水平堆栈视图,包含不同的文本 - 自动高度

裘光启
2023-03-14

我正在 swift 中为 iOS 编写一个应用程序,并且我有一个表格视图问题。此表的单元格内部有一个水平 stackView,其中包含三个包含不同长度文本的标签。我已经放置了所有约束,并且似乎可以自动调整单元格的高度,但我意识到了一些事情:它根据最短的限制自动调整单元格的高度。因此,它会截断较长的那个,如您在图像中看到的那样。请帮助我不知道如何解决它,我无法在线找到解决方案。

如何根据单元组件高度设置单元高度。图像问题:在第8节,它根据最短的一个截断。

共有1个答案

萧越泽
2023-03-14

自动布局UITableViewCell中的Horizontal StackView。即,将前导、顶部、尾随和底部约束添加到单元格ContentView中。将所有UILabelnumberOfLines设置为0在IdtyCheck tor或在代码中。

yourLabel.numberOfLines = 0

添加以下 UITableView 委托方法来配置单元格高度。

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    return 200
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

它会自动将所有单元格调整到所需的高度,这是三个标签中的最大高度,以显示每个标签中的整个文本。

使用sizeToFit()调整标签的垂直对齐方式。使文本垂直左上对齐(这显然是通过修改标签框架来实现的,即缩小标签以包含文本)。

cell.labelOne.sizeToFit()
cell.labelTwo.sizeToFit()
cell.labelThree.sizeToFit()
cell.layoutIfNeeded()
 类似资料:
  • 我正在尝试实现这个功能: 在表视图的每个单元格中显示标题、说明和图像。但是,图像可能为零。要求是: 当image为nil时,自动展开标签以适应整个单元格 Tableview单元格高度应根据描述标签自动调整。 需要使用stackView 我以编程方式做到了这一点: > 设置此为tableview: 创建2个堆栈视图:一个用于标签,一个用于标签图像: 然而,这段代码不会自动调整tableview单元格

  • 我有一个带有一堆单元格的表视图(自定义单元格,它只有它的内容视图)。 在 中,我正在向自定义单元格的content视图添加一个预定义的UIView(它有几个子视图)。我之前为UIView及其子视图设置了所有约束。 最后但并非最不重要的是,我为我的自定义单元格的内容视图(superview)和UIView设置了垂直和水平约束,UIView是在(subview)之前添加的。 约束字符串如下所示: 不幸

  • 我有一个具有动态高度的表视图与其他具有动态高度的UI组件一起在表视图中 数据,模型在这里.. 单元格子视图。。 这是内部tableView及其约束! 构造器

  • 我想利用iOS 8中新增的动态高度。我需要在UITableViewCell中放置一个UICollectionView。我想确保集合视图中的所有单元格在屏幕上都可见,因此表格单元格的高度应该增加以适合集合视图。我差点就要工作了。我只是无法使表格单元格的大小合适——它的高度要么太长要么太短,在我与表格交互之前,一些布局问题是可见的(更多信息请参见下文)。 我已经将集合视图的自动布局约束设置为表的单元格

  • 晚上好, 我有以下设计: < li >红框:是表格行 < li>orane box:是一个集合视图 < li >蓝框:是一个采集单元 当集合视图为空时,我希望该行或集合视图自动调整为0。 目前我得到了这个: 所以当没有蓝色框时,我想让橙色框自动调整为高度= 0。 我知道我应该使用collectionView高度的约束,并在为空时设置为0。 但是我在表格单元格中有出口,在视图控制器中有集合委托。我不

  • 在 Swift 中使用 ,有人可以帮助我根据标签、图片和描述自动更改单元格的高度吗? 我想随着标签文本的增加动态更改单元格大小。我已经在标签上应用了自动布局。