将 UIView 边缘固定到 UITableViewCell contentView 时出现布局错误
Layout errors when pinning UIView edges to UITableViewCell contentView
这里遇到了一个让我抓狂的问题。
在情节提要中,我在布局中有一个 table 视图,我试图将 UIView 的前导、顶部、尾随和底部约束固定到原型单元格的内容视图。够直白了。
每当我这样做时,我都会在 Xcode:
中收到 UIView 的这些布局错误
"Need constraints for: X position, width"
"Need constraints for : Y position, height"
对该视图的约束(Superview 是 contentView
):
在情节提要中,我在 table 视图上设置了以下内容:
- 行高:自动
- 估计(行高):50
并且在 table 视图单元格上:
- 行高:50
我看过一些 SO 帖子和其他演练,说明固定边缘是做什么的,据我了解自动布局,我已经提供了必要的约束和信息。
我该如何解决这个问题?
(顺便说一句:我是 运行 Xcode 11.3.1。)
更新:此 table 视图的单元格将固定高度。我正在寻找为其内容提供高度的单元格。
UIView
本身没有 intrinsicSize
- 所以你告诉单元格的 contentView 固定到 0 x 0
.
的框架
如果您要向 UIView
添加内容,请对内容设置约束以控制视图的大小,这样错误就会消失。
同时,给视图一个高度限制,这将解决问题。
编辑
对于固定高度的单元格...尝试重新开始。
- 添加一个 table 视图 - 为其提供所需的约束
- 添加一个table视图单元格原型
- 向那个单元格添加一个
UIView
(给它一个背景颜色以便于查看)
- 在所有 4 个边上将视图限制为零(限制到边距)
- 将单元格行高设置为 50(取消选中自动)
这是我的样子:
事实证明我已经正确配置了 table 视图和单元格约束和设置;问题出在视图层次结构的更上层。
table 视图放置在垂直堆栈视图中,堆栈视图的对齐方式 属性 设置为 center
(为了堆栈中的其他视图)。这导致自动布局在计算 table 视图的 width 时出现问题。
此处的解决方案是从 table 视图向堆栈视图添加一个等宽约束。 Et voila!table 视图单元格内容视图中的 UIView 错误消失了。
这里遇到了一个让我抓狂的问题。
在情节提要中,我在布局中有一个 table 视图,我试图将 UIView 的前导、顶部、尾随和底部约束固定到原型单元格的内容视图。够直白了。
每当我这样做时,我都会在 Xcode:
中收到 UIView 的这些布局错误"Need constraints for: X position, width"
"Need constraints for : Y position, height"
对该视图的约束(Superview 是 contentView
):
在情节提要中,我在 table 视图上设置了以下内容:
- 行高:自动
- 估计(行高):50
并且在 table 视图单元格上:
- 行高:50
我看过一些 SO 帖子和其他演练,说明固定边缘是做什么的,据我了解自动布局,我已经提供了必要的约束和信息。
我该如何解决这个问题?
(顺便说一句:我是 运行 Xcode 11.3.1。)
更新:此 table 视图的单元格将固定高度。我正在寻找为其内容提供高度的单元格。
UIView
本身没有 intrinsicSize
- 所以你告诉单元格的 contentView 固定到 0 x 0
.
如果您要向 UIView
添加内容,请对内容设置约束以控制视图的大小,这样错误就会消失。
同时,给视图一个高度限制,这将解决问题。
编辑
对于固定高度的单元格...尝试重新开始。
- 添加一个 table 视图 - 为其提供所需的约束
- 添加一个table视图单元格原型
- 向那个单元格添加一个
UIView
(给它一个背景颜色以便于查看) - 在所有 4 个边上将视图限制为零(限制到边距)
- 将单元格行高设置为 50(取消选中自动)
这是我的样子:
事实证明我已经正确配置了 table 视图和单元格约束和设置;问题出在视图层次结构的更上层。
table 视图放置在垂直堆栈视图中,堆栈视图的对齐方式 属性 设置为 center
(为了堆栈中的其他视图)。这导致自动布局在计算 table 视图的 width 时出现问题。
此处的解决方案是从 table 视图向堆栈视图添加一个等宽约束。 Et voila!table 视图单元格内容视图中的 UIView 错误消失了。