gpt4 book ai didi

ios - 如何找出哪个约束不起作用或产生问题

转载 作者:行者123 更新时间:2023-12-02 19:21:54 26 4
gpt4 key购买 nike

我已经为 UITableView 单元格创建了自定义 View 。当应用程序运行并且 UITableView 被填充时,我收到太多与设计相关的警告。让我快速分享我正在获得的设计日志

    [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x600000a8c530 H:[UIView:0x7fcc025a6390]-(1)-| (active, names: '|':UIView:0x7fcc025a5dc0 )>",
"<NSLayoutConstraint:0x600000a8c620 H:|-(1)-[UIView:0x7fcc025a6390] (active, names: '|':UIView:0x7fcc025a5dc0 )>",
"<NSLayoutConstraint:0x600000a8cb20 H:|-(0)-[UIView:0x7fcc025a5dc0] (active, names: '|':UITableViewCellContentView:0x7fcc025a58a0 )>",
"<NSLayoutConstraint:0x600000a8cbc0 H:[UIView:0x7fcc025a5dc0]-(0)-| (active, names: '|':UITableViewCellContentView:0x7fcc025a58a0 )>",
"<NSLayoutConstraint:0x600000a8d5c0 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fcc025a58a0.width == 0 (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600000a8c530 H:[UIView:0x7fcc025a6390]-(1)-| (active, names: '|':UIView:0x7fcc025a5dc0 )>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2020-07-16 12:52:06.760595+0500 NeverEndingApp[4395:106090] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x600000a8c1c0 V:[UIView:0x7fcc025a6ad0]-(0)-| (active, names: '|':UIView:0x7fcc025a6390 )>",
"<NSLayoutConstraint:0x600000a8c260 V:|-(0)-[UIView:0x7fcc025a6ad0] (active, names: '|':UIView:0x7fcc025a6390 )>",
"<NSLayoutConstraint:0x600000a8c580 V:|-(1)-[UIView:0x7fcc025a6390] (active, names: '|':UIView:0x7fcc025a5dc0 )>",
"<NSLayoutConstraint:0x600000a8c5d0 V:[UIView:0x7fcc025a6390]-(1)-| (active, names: '|':UIView:0x7fcc025a5dc0 )>",
"<NSLayoutConstraint:0x600000a8cad0 V:|-(0)-[UIView:0x7fcc025a5dc0] (active, names: '|':UITableViewCellContentView:0x7fcc025a58a0 )>",
"<NSLayoutConstraint:0x600000a8cb70 V:[UIView:0x7fcc025a5dc0]-(0)-| (active, names: '|':UITableViewCellContentView:0x7fcc025a58a0 )>",
"<NSLayoutConstraint:0x600000a8d610 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fcc025a58a0.height == 0 (active)>"
)

Following is the view design

The is the view I have designed

现在我不知道造成该问题的原因是什么。因为最终的结果是令人满意的并且符合预期。

So following I wanted to know:

  1. 如何找出设计中的确切问题
  2. 如何找出哪个 View 以及该 View 的哪个约束产生了问题
  3. 删除这些警告真的很重要吗,因为我正在按预期进行设计

注意:我知道这里有数百万个线程来解决类似的问题,但其中大多数都是过时的和旧的。我也问它只是为了知道避免这些问题的完美方法以及跟踪问题的简单且最佳的方法。

最佳答案

错误消息显示存在冲突的约束。并非所有这些约束都能同时成立。您需要删除一个或进行编辑。

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600000a8c530 H:[UIView:0x7fcc025a6390]-(1)-| (active, names: '|':UIView:0x7fcc025a5dc0 )>

您可以采取一些步骤来识别问题:

  1. 显示调试 View 层次结构

enter image description here

  • 搜索并查找导致问题的约束和 View (0x600000a8c5300x7fcc025a6390),如 this 中所述回答。
  • enter image description here

  • 然后尝试调查冲突。
  • 您还可以查看这些文档以获取更多信息。

    关于ios - 如何找出哪个约束不起作用或产生问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62932505/

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