控制台中的约束警告

问题描述 投票:2回答:2

我是自动布局和约束的新手。所以我根据故事板的超级视图应用约束,但面对一些下面的警告:

“无法同时满足约束。可能至少下列列表中的一个约束是你不想要的。尝试这个:(1)查看每个约束并尝试找出你不期望的;(2) )找到添加了不需要的约束或约束的代码并修复它。(“<_UILayoutSupportConstraint:0x14dfa550 V:[_ UILayoutGuide:0x14df81e0(0)]>”,“<_ UILayoutSupportConstraint:0x14dfa520 V:| - (0) - [_ UILayoutGuide: 0x14df81e0](名称:'|':UIView:0x14ed7ff0)>“,”“,”“,”“,”“,”“)

将尝试通过打破约束来恢复

在UIViewAlertForUnsatisfiableConstraints上创建一个符号断点,以便在调试器中捕获它。在列出的UIView上的UIConstraintBasedLayoutDebugging类别中的方法也可能有所帮助。 2016-08-01 11:56:48.694 Laatli [1034:623262]无法同时满足约束条件。可能至少下列列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (“”,“”,“”,“”,“”,“”,“”)

将尝试通过打破约束来恢复

在UIViewAlertForUnsatisfiableConstraints上创建一个符号断点,以便在调试器中捕获它。在列出的UIView上的UIConstraintBasedLayoutDebugging类别中的方法也可能有所帮助。 2016-08-01 11:56:48.699 Laatli [1034:623262]无法同时满足约束条件。可能至少下列列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (“<_UILayoutSupportConstraint:0x14dfa550 V:[_ UILayoutGuide:0x14df81e0(64)]>”,“<_ UILayoutSupportConstraint:0x14dfa520 V:| - (0) - [_ UILayoutGuide:0x14df81e0](姓名:'|':UIView:0x14ed7ff0)>” ,“”,“”,“”,“”,“”,“”

将尝试通过打破约束来恢复

在UIViewAlertForUnsatisfiableConstraints上创建一个符号断点,以便在调试器中捕获它。在列出的UIView上的UIConstraintBasedLayoutDebugging类别中的方法也可能有用。“

我不知道为什么这些警告会在控制台中出现。

ios swift constraints warnings ios-autolayout
2个回答
1
投票

不满意的布局

当系统无法为当前约束集找到有效解决方案时,会出现不满意的布局。两个或多个必需的约束冲突,因为它们不可能同时都是真的。

识别不满意的约束

通常,Interface Builder可以在设计时检测冲突。在这些情况下,“接口”构建器以多种方式显示错误:

  • 所有冲突的约束都以红色绘制在画布上。
  • Xcode在问题导航器中将冲突约束列为警告。
  • Interface Builder在文档大纲的右上角显示红色显示箭头。

Unsatisfiable Constraints

单击显示箭头以显示当前布局中所有自动布局问题的列表。

Interface Builder通常可以针对这些问题推荐修复程序。有关更多信息,请参阅Resolving Layout Issues for a View Controller, Window, or Root View中的Auto Layout Help.

以下是Apple指定所有这些内容的链接。请阅读文档。它有初学者可能想要的大部分答案。

资料来源:Apple Documentation


2
投票

xCode中显示的此控制台错误的说明: -

“无法同时满足约束。可能至少下列列表中的一个约束是你不想要的。尝试这个:(1)查看每个约束并尝试找出你不期望的;(2) )找到添加了不需要的约束或约束的代码并修复它。(“<_UILayoutSupportConstraint:0x14dfa550 V:[_ UILayoutGuide:0x14df81e0(0)]>”,“<_ UILayoutSupportConstraint:0x14dfa520 V:| - (0) - [_ UILayoutGuide: 0x14df81e0](名称:'|':UIView:0x14ed7ff0)>“,”“,”“,”“,”“,”“)

它的意思是:-

一个视图添加了一些额外的约束。与垂直相关的约束,即从Top开始,你给出了两个产生问题的约束。

它会自动删除任何约束以满足条件。

您需要删除任何一个约束并对UIView应用适当的有效约束。

© www.soinside.com 2019 - 2024. All rights reserved.