【发布时间】:2019-03-23 22:02:41
【问题描述】:
我有一个自定义的 UITableViewCell,它看起来像这样:
我得到的警告是:
不等式约束歧义:尾随 >= date.trailing + 16
我在上图中突出显示了约束。
我不明白的是,在添加“someView”(底部的最后一个视图)之前,没有任何警告;添加 without height = 20 约束时,没有警告。但是,一旦添加了高度限制,我就会开始收到警告消息。
我必须添加高度约束,因为没有它,'someView' 的高度不再是 20。
如果有帮助,我正在使用
tableView.rowHeight = UITableView.automaticDimension
决定行高
【问题讨论】:
-
这不是一个真正的答案,但我建议不要太担心 Xcode 在 Interface Builder 中所说的关于这里是否存在歧义的内容。这并不总是正确的。相反,运行应用程序并查看会发生什么。特别是,运行应用程序并切换到 View Debugger 并查看 it 的内容。如果有歧义,它会大声而清晰地告诉你(感叹号)。如果没有,没问题。
-
@matt 谢谢。你是对的,单元格显示正确。但是,调试器确实会抱怨:
Probably at least one of the constraints in the following list is one you don't want. .......... Will attempt to recover by breaking constraint: <NSLayoutConstraint:0x600002d7f660 UILabel:0x7fba44c3ca60'Name Label'.height == 24 (active)>。所以基本上,它消除了 nameLabel 的高度约束。你认为我应该忽略警告(在控制台和 IB 中),因为单元格显示正确吗? -
哇,这不是模棱两可。这与模棱两可相反。这是冲突。冲突是真实存在的,您需要对此采取一些措施。 - 顺便说一句,你还是应该照我说的做。在应用程序运行时使用视图调试器。它会非常清楚地告诉您是否有歧义或冲突,这是了解两者的唯一真正好方法。
-
在您的按钮上设置
width约束。 -
我看不出与某些视图高度和带有尾随约束的警告有任何关系。一种是垂直的,一种是水平的。这不应该是这样的。它们不会相互冲突。
标签: ios iphone swift uitableview