Ios Xcode约束会导致错误和应用程序崩溃

Ios Xcode约束会导致错误和应用程序崩溃,ios,xcode,Ios,Xcode,我正在尝试向我的应用程序添加约束。我以前做过,它相当简单。然而,当我这次尝试向我的应用程序添加约束时,它并没有产生我想要的结果。这是我的应用程序 我尝试在每个项目上逐个添加约束。我已经尝试了选择项目组,并设置了高度、宽度、左、右、顶部和底部的约束。最后,我尝试在不做任何其他事情的情况下添加缺少的约束。它们都会导致它看起来像这样摇摇欲坠: ^在不添加任何其他内容的情况下添加缺少的约束 ^添加我自己的约束 ^添加我自己的约束,然后添加缺少的约束 “我的控制台”中的此错误导致应用程序崩溃: M

我正在尝试向我的应用程序添加约束。我以前做过,它相当简单。然而,当我这次尝试向我的应用程序添加约束时,它并没有产生我想要的结果。这是我的应用程序

我尝试在每个项目上逐个添加约束。我已经尝试了选择项目组,并设置了高度、宽度、左、右、顶部和底部的约束。最后,我尝试在不做任何其他事情的情况下添加缺少的约束。它们都会导致它看起来像这样摇摇欲坠:

^在不添加任何其他内容的情况下添加缺少的约束

^添加我自己的约束

^添加我自己的约束,然后添加缺少的约束

“我的控制台”中的此错误导致应用程序崩溃:

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.
Optional("")
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 
在UIViewAlertForUnsatifiableConstraints处创建一个符号断点,以便在调试器中捕获该断点。
中列出的UIView上UIConstraintBasedLayoutDebugging类别中的方法也可能会有所帮助。
可选(“”)
致命错误:在展开可选值时意外发现nil
(lldb)
我不知道如何使这些约束不会使我的应用程序崩溃,并且看起来合适

谢谢

编辑:可能是因为我使用的是一个xcworkspace文件(运行firebase),所以会像这样搞砸吗

编辑:我通过将所有内容移到左上角暂时修复了它,这不是一个真正的解决方案,但它对我的案例有效。有没有一种方法可以利用约束来实现这一点


Xcode情节提要对我来说总是很麻烦。有时它会在自动布局时崩溃,有时当您退出并再次打开时,它会工作。有时,当我打开一个现有的项目时,子视图的位置都改变了,一切都变得一团糟。所以现在我尽量避免使用故事板自动布局。相反,我只是以编程方式根据屏幕大小调整所有子视图。例如,我定义了一个公共结构来存储屏幕宽度和屏幕高度。我创建一个UIView,如:let secondsView=UIView(frame:CGRect(0,0,screenWidth/4,screenHeight/5)),然后根据screen by:secondsView.frame.orginin=CGPoint(screenWidth/10,screenHeight/10)等来定位视图。当你有secondsView,minutesView,hoursView等多个子视图时,我计算它们的宽度和高度,然后计算它们之间的距离。就像您在autolayout中所做的一样,仅以编程方式进行。以编程方式进行此操作的另一个优点是:您可以创建多个模板(UIView的子类),并对所有子视图进行特定排列,然后方便地创建多个UIView。而且不需要打开大的.xib文件,因为打开大的.xib文件很痛苦。实际上它没有那么长。添加到情节提要中的每个约束都只是代码中的一个计算。但人们有不同的偏好。也许有些人喜欢视觉化。你可以试一下。我更喜欢写代码,因为它是100%精确的,从来没有奇怪的东西。你确定你的崩溃是由约束引起的吗?从错误日志中,最有可能的原因是强制展开。至于您的约束问题,它很可能是由冲突约束引起的。尝试显示每个视图中的约束,以便更好地理解它。