静态单元的约束不明确

Posted

技术标签:

【中文标题】静态单元的约束不明确【英文标题】:Constraints with static cell are ambiguous 【发布时间】:2018-04-06 22:02:47 【问题描述】:

我在按照我想要的方式正确设置我的静态单元格同时让它看起来适合不同的屏幕尺寸时遇到了一些问题。

不知何故,我似乎不明白约束应该如何工作。

    我的一个视图包含一个带有表格视图的UIViewController。但是,如果我将情节提要中的预览设备更改为 iPad,则表格视图不会调整大小。我应该只从代码中处理这样的事情,还是有办法从情节提要中处理这个问题(比如将宽度和高度设置为始终填充)?

    我正在尝试设置一个静态单元格,以便它在具有不同屏幕尺寸的设备上看起来不错。当我只有两个元素时(例如,一个标签左侧和一个标签右侧 - 就像在标准模板中一样),事情运行得很好,但是一旦我添加更多东西,我就会遇到很多警告,例如宽度和高度是模棱两可的。 对我来说,我似乎遗漏了一些关键的约束概念。

查看提供的图片。我想要的是以下内容:

日期要离我的左侧表格边框一定距离 音量+图片的堆栈视图在中间居中 图片&价格&标签(还有一个用于测量)代表正确的标签

【问题讨论】:

【参考方案1】:

我目前无法实际尝试,但这是我要走的路。

日期:

    将容器的顶部、底部和前导限制固定为 8(或任何您想要的)。

卷堆栈

    将容器的顶部和底部约束固定为 8。

价格堆栈

    将 Top、Bottom 和 Trailing to Container 约束固定为 8。

此时您会遇到一些与小屏幕重叠的问题。你应该得到“红圈”来建议添加哪些约束。单击并阅读每一个,它将足够具体地引导您完成您想要调整大小、重置优先级等。

*我讨厌处理约束。

祝你好运!我今晚会试试看我是否给出了一个可以接受的答案。 :)

【讨论】:

感谢您的意见。这种“有点”有效,但不是真的(仍然有很多剪辑/警告)。然后我决定改用 UICollectionView,它开箱即用,效果很好。

以上是关于静态单元的约束不明确的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 UITableViewCell 约束常量并更新单元格高度

UITableViewCell 中的 UILabel 约束横向变化

iOS Update Interface Builder视图框架基于约束

如何在情节提要失败的情况下使用大量表格视图单元格和自动布局约束来布局复杂视图

在单元格内显示整个表格视图

当单元格的高度略微增长时,为啥我的标签不遵守我的自动布局约束?