Swift:如何检查导致约束错误的视图

Swift:如何检查导致约束错误的视图,swift,xcode,uiview,autolayout,Swift,Xcode,Uiview,Autolayout,尝试加载VC时出现以下错误: Thread 1: Exception: "Unable to activate constraint with anchors <NSLayoutXAxisAnchor:0x280fea300 \"i6.I6FuelSheetTextField:0x1030fe400.centerX\"> and <NSLayoutXAxisAnchor:0x280fea440 \"UILayoutGuide:0x282327800'UIViewSafeA

尝试加载VC时出现以下错误:

Thread 1: Exception: "Unable to activate constraint with anchors 
<NSLayoutXAxisAnchor:0x280fea300 \"i6.I6FuelSheetTextField:0x1030fe400.centerX\"> and 
<NSLayoutXAxisAnchor:0x280fea440 
\"UILayoutGuide:0x282327800'UIViewSafeAreaLayoutGuide'.centerX\"> because they have no common 
ancestor.  Does the constraint or its anchors reference items in different view hierarchies?  
That's illegal."
thread1:异常:“无法使用锚激活约束”
及
因为他们没有共同点
约束或其锚点是否引用不同视图层次结构中的项?
这是违法的。”

如何识别这些地址所指的视图?

这是因为您试图约束两个彼此无关的视图。您很幸运从错误中获得了足够的信息。您正在使用一个组件,该组件是
I6FuelSheetTextField
的一个实例,您试图约束它的
centerX
属性。所以,我认为这个错误本身就是很好的解释


注意:当您忘记将视图添加到另一个视图的子视图时,也可能会出现这种情况。

谢谢您的回答。我的问题是viewController中有很多文本字段的实例,我想知道是否可以从内存地址中明确指出是哪一个导致了问题。从崩溃中,可以追溯到源代码。您可以找到导致此问题的类和函数名。您只需仔细查看崩溃日志。如果您无法识别包含错误消息的视图(如所显示消息中的
FuelSheetTextField
),您可能会发现尝试使用