繁体   English   中英

Xcode 11.5 更新后错误:无法使用锚激活约束

[英]Xcode 11.5 Post-Update Error: Unable to activate constraint with anchors

我刚刚更新到 Xcode 11.5,突然我的应用程序抛出了这个错误(如下所列)。

我的应用程序以 TabBar 作为基础,并为五个 TabBar 项目中的每一个提供不同的视图。 所有视图都工作正常,除了第 3 个视图,在单击该图标时,我收到以下错误消息。

此视图有一个 segControl,它可以更改 tableView 中的数据。 我添加了下拉刷新和搜索功能。 还有一个 UILabel 会在无法拉取数据/没有 inte.net 情况时出现,否则会被隐藏。

错误

Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x60000064b4c0 "UILabel:0x7fb6dd8b8b80'Day 1'.centerY"> and <NSLayoutYAxisAnchor:0x600000649780 "UIView:0x7fb6dd4b89d0.centerY"> because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies?  That's illegal.'

现在,我根本没有更改这段代码,在更新发生之前它工作得很好。 所以我很困惑如何解决它。

我看到可能有一些 label 并查看它们的约束层次结构冲突,但我似乎无法弄清楚哪些以及如何修复它们。

此外,我的代码中没有任何内容涉及“第 1 天”,并且我没有以编程方式添加任何子视图。

到目前为止已完成故障排除

  1. 放弃所有代码更改 -仍然是同样的问题
  2. 通过时间机器将代码回滚到以前的工作时间 -仍然是同样的问题
  3. 将 Xcode 回滚到 11.4.x -仍然是同样的问题
  4. 一步一步地调试我的代码 -一切似乎都很好
  5. 删除任何 label 或其他视图 -仍然会引发错误
  6. 将约束重置为自动约束 -仍然是同样的问题

当前约束[丢弃所有代码后,更早地工作]

 label.top = top - 9 
 bottom = label.bottom + 1 
 label.leading = leading + 8 
 label.centerX = centerX

这些是唯一的限制,因为我在 tableView 下面添加了一个视图,并且该视图包含 label。

[这些是自动约束]

感谢任何帮助。 提前致谢。

设法找出错误 - 似乎更新翻转了我正在使用的自定义 class,这又错过了对依赖项的引用。

正确恢复自定义 class(在 storyboard - tableViewCell 中)后,它起作用了。

这里的答案是尝试这个解决方案的灵感。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM