我刚刚更新到Xcode 11.5,突然我的应用程序出现了这个错误(如下所示)。
我的应用程序有一个TabBar作为基础,并为五个TabBar项目中的每一个提供了不同的视图。所有的视图都能正常工作,除了第3个视图,在点击图标时,我得到了下面的错误信息。
这个视图有一个segControl,可以改变tableView中的数据。我已经添加了拉动刷新和搜索功能。还有一个UILabel,当数据无法拉动没有互联网的情况下会出现,否则会被隐藏。
错
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.'
现在,我根本没有修改这段代码,在更新发生之前,它一直工作得很好。所以我很困惑如何修复它。
我看到可能有一些标签和视图与它们的约束层次结构冲突,但我似乎想不出是哪些标签和视图,以及如何修复它们。
另外,我的代码中也没有提到 "Day 1",我也没有在程序上添加任何子Views。
目前所做的故障排除
当前的制约因素 [在丢弃所有代码后,之前的工作]
label.top = top - 9
bottom = label.bottom + 1
label.leading = leading + 8
label.centerX = centerX
这些是唯一的约束,因为我在tableView下面添加了一个视图,该视图包含了标签。
[这些是自动约束]
感谢任何帮助。先谢谢你了,我刚刚更新到Xcode 11.5,突然我的应用程序出现了这个错误(如下所示)。
我设法找出了这个错误--似乎更新翻转了我正在使用的一个自定义类,而这个自定义类又错过了对依赖关系的引用。
在正确地还原自定义类(在故事板中--tableViewCell)后,它成功了。
答案是 此处 是尝试这个解决方案的灵感。