gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:40:54 27 4
gpt4 key购买 nike

我在简单的 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)]>"
)

在我看来,没有双重约束,每个约束都有自己的含义。有人可以向我澄清一下吗?

最佳答案

从错误输出来看,似乎在某些时候(可能在计算出正确的高度之前)单元格的高度为 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com