UITableViewCell中两个基本相同的UILabel的奇怪约束差异

Posted

技术标签:

【中文标题】UITableViewCell中两个基本相同的UILabel的奇怪约束差异【英文标题】:Weird contraints difference of two basically identical UILabels in UITableViewCell 【发布时间】:2018-09-03 11:41:04 【问题描述】:

我创建了一个带有静态部分的 UITableView。我的问题是,在这些部分中,约束表现得“奇怪”。

约束问题在所有部分都有,但我主要关注Label3和Label4。

如您所见,标签是同级,尽管它们在水平面上的位置相同,但它们对 superview 具有不同的前导和尾随约束值。

您可以检查情节提要,两个标签的配置相同,但字体和位置除外。我也可以发布这些 Xcode 选项卡的屏幕截图,但我认为只看一下故事板会更容易,它在这个 Xcode 项目中:StaticTableView.zip。

我已经没有想法了,问题的根源可能是什么。但我不希望在我的约束中使用那些无意义的值。

附录:麻烦的根源

正如答案中所解释的,这就是约束值不同的原因。

【问题讨论】:

您是否从 Xcode 收到任何相关警告? 【参考方案1】:

您需要更改尾随约束属性以使Label4Label3 相同。只需选择并双击两者的当前尾随约束并检查差异。您必须设置Label4's 约束,如下图所示。然后你可以看到两个值是一样的。

【讨论】:

有时默认情况下在放置标签时会采用这些,并设置一些约束或错误的约束 xib 会自动应用一些约束以满足元素放置,因为它会发生。 我现在可以看到我的问题是,我只查看了视图的约束检查器(如我的屏幕截图所示)。这并没有表明其中一个标签约束是相对于边距的。当我与检查员一起查看单个约束时(如您的屏幕截图),它变得清晰了。 我已经用截图更新了这个问题,以澄清我的最后评论。感谢@viivekDas 的宝贵帮助。

以上是关于UITableViewCell中两个基本相同的UILabel的奇怪约束差异的主要内容,如果未能解决你的问题,请参考以下文章

UITableviewCell 行和标题是两个不同的数组

是啥导致两个具有相同自动布局约束的 UITableViewCell 表现不同?

两个 UITableViewCell 具有相同的约束,但在 Interface Builder 中显示不同

在 UITableViewCell 中居中视图?看起来以 UI 层次结构为中心,但不在实际应用程序中?

UITableViewCell - 设置单元格的最佳位置

如何在 swift 中创建新闻提要 UI