UITableViewCell Autolayout问题(iOS 11,Xcode 9.2)

问题描述 投票:0回答:1

我正在尝试配置从nib文件加载的UITableViewCell。单元格有两个元素 - 左边是UIImageView,右边是UILabel。

Custom UITableViewCell

UIImageView具有以下约束:

高度:100 pt,宽度:100 pt,前视空间到superview = 10pt,顶部空间到superview = 10 pt,底部空间到superview = 10 pt(如果我没有设置这个Bottom空间约束,那么单元格不会显示图像正确,它们都被破坏了)

UILabel具有以下约束:

从UIImageView = 10pt的顶部空间,顶部空间到superview = 10pt,尾部空间到superview = 10pt,底部空间到superview = 10pt

UILabel的行数设置为0,表的估计行高设置为200 pt,行高设置为UITableViewAutomaticDimension。

我希望UILabel适合所有的行(因此它的行数设置为0)和单元格以标签高度动态扩展

但是,单元格仅扩展到最大高度100 px(UIImageView的高度),标签内容被截断。

我在这做错了什么?

ios xcode uitableview uiimageview ios-autolayout
1个回答
0
投票

这个高度是有道理的,因为您已将ImageView设置为静态高度,然后将其顶部和底部绑定到内容视图。这可以阻止细胞长高。

您需要允许图像高度增大或移除顶部或底部约束,以便单元格的高度不受图像视图的限制。

尝试这些约束:

  • 图像视图高度/宽度
  • 图像视图领先=细胞领先
  • 图像视图顶部=单元格顶部 或垂直居中或任何你想要的。 基本上,只需设置图像视图的Y位置
  • 标签前导=图像视图尾随
  • 标签顶部=单元格顶部
  • 标签底部=单元格底部
  • 标签尾随=单元格尾随
  • 标签高度> =图像视图高度 停止标签(因此,单元格)折叠小于图像视图
© www.soinside.com 2019 - 2024. All rights reserved.