UITableViewCell Autolayout问题(iOS 11,Xcode 9.2)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITableViewCell Autolayout问题(iOS 11,Xcode 9.2)相关的知识,希望对你有一定的参考价值。
我正在尝试配置从nib文件加载的UITableViewCell。单元格有两个元素 - 左边是UIImageView,右边是UILabel。
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的高度),标签内容被截断。
我在这做错了什么?
这个高度是有道理的,因为您已将ImageView设置为静态高度,然后将其顶部和底部绑定到内容视图。这可以阻止细胞长高。
您需要允许图像高度增大或移除顶部或底部约束,以便单元格的高度不受图像视图的限制。
尝试这些约束:
- 图像视图高度/宽度
- 图像视图领先=细胞领先
- 图像视图顶部=单元格顶部 或垂直居中或任何你想要的。 基本上,只需设置图像视图的Y位置
- 标签前导=图像视图尾随
- 标签顶部=单元格顶部
- 标签底部=单元格底部
- 标签尾随=单元格尾随
- 标签高度> =图像视图高度 停止标签(因此,单元格)折叠小于图像视图
以上是关于UITableViewCell Autolayout问题(iOS 11,Xcode 9.2)的主要内容,如果未能解决你的问题,请参考以下文章
UIImageView 高度不是自动布局约束后子图像高度的高度。
UITableViewCell 中的 UIDatePicker 更新 UITableViewCell 文本标签
突出显示的 UITableViewCell 和选定的 UITableViewCell 有啥区别?