• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Autolayout,如何解决这些约束错误

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:43:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在我的简单 UITableViewCell-Layout 中尝试了很多来解决自动布局约束错误,但现在卡住了。 TableView 的渲染效果符合预期,但警告很烦人,我不喜欢它运行有错误的布局,即使它看起来不错。

我逐步删除了标签,以查看约束错误是否会消失。只有左侧的图像和图像右侧的最顶部标签在没有约束错误的情况下播放得很好。但至少我添加了第二个标签并给它与“刚刚”标签相同的位置,错误再次发生。

下面我将列出约束,然后是来自控制台的错误消息:

enter image description here enter image description here enter image description here enter image description here

约束错误列出以下元素:

(
    "<NSLayoutConstraint:0x7fe004aa9010 V:|-(15)-[UILabel:0x7fe004aa83d0'Sunday, March 29, 2015 at...']   (Names: '|':UITableViewCellContentView:0x7fe004aa7bc0 )>",
    "<NSLayoutConstraint:0x7fe004aa9150 V:[UILabel:0x7fe004aa83d0'Sunday, March 29, 2015 at...']-(5)-[UILabel:0x7fe004aa8090'Name']>",
    "<NSLayoutConstraint:0x7fe004aa9240 V:[UILabel:0x7fe004aa8090'Name']-(5)-[UILabel:0x7fe004aa8920'lorem ipsum blaa foo bar']>",
    "<NSLayoutConstraint:0x7fe004aa92e0 V:[UILabel:0x7fe004aa8920'lorem ipsum blaa foo bar']-(33)-|   (Names: '|':UITableViewCellContentView:0x7fe004aa7bc0 )>",
    "<NSLayoutConstraint:0x7fe004ab09c0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fe004aa7bc0(0)]>"
)

在我看来,没有双重约束,每个约束都有自己的含义。谁能给我解释一下?



Best Answer-推荐答案


从错误输出来看,似乎在某些时候(可能在计算正确高度之前)您的单元格的高度为 0

"<NSLayoutConstraint:0x7fe004ab09c0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fe004aa7bc0(0)]>"

由于您的布局元素之间有一些正的垂直偏移(例如标签的 15 顶部偏移等),因此无法满足布局,因为这意味着某些 View 必须具有负高度,这不是可能。

由于您的布局看起来不错,我的建议是将最后一个约束(从最后一个标签到容器 View 的 33 底部偏移)的优先级设置为较低的优先级 (999)。这应该可以解决您的警告。

要真正找到为什么您的单元格在某个点的高度为 0,您必须查看如何计算单元格的高度(可能是自动调整大小)。如果您可以在那里发布您正在使用的代码,我可以尝试进一步帮助您。

让我知道进展如何。祝你好运!

关于ios - Autolayout,如何解决这些约束错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985679/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap