UITableViewCell 自动布局问题(iOS 11,Xcode 9.2)
UITableViewCell Autolayout issues (iOS 11, Xcode 9.2)
我正在尝试配置从 nib 文件加载的 UITableViewCell。该单元格有两个元素 - 左侧的 UIImageView 和右侧的 UILabel。
UIImageView 有以下约束:
高度:100 pt,宽度:100 pt,引导 space 到超级视图 = 10pt,顶部 space 到超级视图 = 10 pt,底部 space 到超级视图 = 10 pt(如果我不设置此 Bottom space 约束,则单元格无法正确显示图像并且它们都被损坏了)
UILabel 具有以下约束:
领先 space 从 UIImageView = 10pt,顶部 space 到 superview = 10pt,尾随 space 到 superview = 10pt 和底部 space 到 superview = 10pt
UILabel 的行数设置为 0,table 的估计行高设置为 200 pt,行高设置为 UITableViewAutomaticDimension。
我希望 UILabel 适合所有行(因此它的行数设置为 0)并且单元格随标签高度动态扩展
但是,单元格仅扩展到最大高度 100 像素(UIImageView 的高度)并且标签内容被截断。
我做错了什么?
该高度很有意义,因为您已将 ImageView 设置为静态高度,然后将其顶部和底部绑定到内容视图。这会阻止细胞长高。
您需要允许图像高度增长或删除顶部或底部约束,以便单元格的高度不受图像视图的限制。
试试这些约束:
- 图像视图 Height/Width
- 图像视图前导 = 单元格前导
- 图像视图顶部 = 单元格顶部
- 或垂直居中或任何你喜欢的。
- 基本上,只需以某种方式设置图像视图的 Y 位置
- 标签前导 = 图像视图尾随
- 标签顶部 = 单元格顶部
- 标签底部 = 单元格底部
- 标签拖尾 = 单元格拖尾
- 标签高度 >= 图片视图高度
- 阻止标签(因此,单元格)折叠小于图像视图
我正在尝试配置从 nib 文件加载的 UITableViewCell。该单元格有两个元素 - 左侧的 UIImageView 和右侧的 UILabel。
UIImageView 有以下约束:
高度:100 pt,宽度:100 pt,引导 space 到超级视图 = 10pt,顶部 space 到超级视图 = 10 pt,底部 space 到超级视图 = 10 pt(如果我不设置此 Bottom space 约束,则单元格无法正确显示图像并且它们都被损坏了)
UILabel 具有以下约束:
领先 space 从 UIImageView = 10pt,顶部 space 到 superview = 10pt,尾随 space 到 superview = 10pt 和底部 space 到 superview = 10pt
UILabel 的行数设置为 0,table 的估计行高设置为 200 pt,行高设置为 UITableViewAutomaticDimension。
我希望 UILabel 适合所有行(因此它的行数设置为 0)并且单元格随标签高度动态扩展
但是,单元格仅扩展到最大高度 100 像素(UIImageView 的高度)并且标签内容被截断。
我做错了什么?
该高度很有意义,因为您已将 ImageView 设置为静态高度,然后将其顶部和底部绑定到内容视图。这会阻止细胞长高。
您需要允许图像高度增长或删除顶部或底部约束,以便单元格的高度不受图像视图的限制。
试试这些约束:
- 图像视图 Height/Width
- 图像视图前导 = 单元格前导
- 图像视图顶部 = 单元格顶部
- 或垂直居中或任何你喜欢的。
- 基本上,只需以某种方式设置图像视图的 Y 位置
- 标签前导 = 图像视图尾随
- 标签顶部 = 单元格顶部
- 标签底部 = 单元格底部
- 标签拖尾 = 单元格拖尾
- 标签高度 >= 图片视图高度
- 阻止标签(因此,单元格)折叠小于图像视图