【发布时间】:2018-02-02 09:56:08
【问题描述】:
我几乎在我的应用程序的每个视图中都使用自动布局。但是偶尔我的调试控制台会显示我们奇怪的警告。尽管有这些错误,我的应用程序似乎工作正常。 以下是这些警告的样子。 第一个例子 第二个例子
创建符号断点似乎有助于找出问题所在。 但是我如何以及在哪里制作它们,一旦我找到它们,我该如何解决这些问题
【问题讨论】:
-
"创建符号断点似乎可以解决这些问题" 他们不会解决任何问题。他们会在调试时“阻止”您的应用程序,让您有时间调试和解决问题。请参阅文档:developer.apple.com/library/content/documentation/…
-
符号断点是一种调试工具,就像任何其他断点一样。恕我直言,至少同样有用的是学习阅读这种控制台输出。 (1) 它解释了哪个约束被打破 - 示例 #1 是
UIImageView宽度和 #2 是UIButton高度。 (2) 有时下一个问题应该是“布局看起来正确吗?” -
(3) 有时更容易判断哪个约束是冲突的。在示例 #2 中,我将查看列出的第二个和第三个约束 - 它表明按钮高度距顶部 23 点,距底部 17 点。第四个约束表明 superview 设置为 59 的高度。如果是这样,则意味着按钮为 59-40 或 19 点。所以布局引擎在 19 和 19.5 之间存在冲突,并且没有设置优先级,它决定打破 19.5 的约束。 (是的,示例#1 更难弄清楚 - 使其成为更深入调试的良好候选者。
-
我让你@dfd 但是如果我的视图中有多个 UIButton 或多个 UIImageView 我如何找到导致问题的特定按钮或图像?
标签: swift xcode autolayout breakpoints