仅在模拟器中出现iOS约束错误
我已经使用Xcode脚本设计了我的iOS应用程序UI,现在一切看起来都很好,没有错误,没有警报 当我在模拟器中运行我的应用程序时,我得到一个无法同时满足约束的仅在模拟器中出现iOS约束错误,ios,xcode,Ios,Xcode,我已经使用Xcode脚本设计了我的iOS应用程序UI,现在一切看起来都很好,没有错误,没有警报 当我在模拟器中运行我的应用程序时,我得到一个无法同时满足约束的列表。这个名单很模糊 "<NSLayoutConstraint:0x7b617600 UIButton:0x7b6112f0.width == UIButton:0x7b6112f0.height>", "<NSLayoutConstraint:0x7b7abd20 UIButton:0x7b7a3180.
列表。这个名单很模糊
"<NSLayoutConstraint:0x7b617600 UIButton:0x7b6112f0.width == UIButton:0x7b6112f0.height>",
"<NSLayoutConstraint:0x7b7abd20 UIButton:0x7b7a3180.centerY == UIButton:0x7b79d0f0.centerY>",
"<NSLayoutConstraint:0x7b7abd50 UIButton:0x7b7a3180.width == UIButton:0x7b6112f0.width>",
"<NSLayoutConstraint:0x7b7abd80 UIButton:0x7b7a3180.height == UIButton:0x7b6112f0.height>",
"<NSLayoutConstraint:0x7b7abdb0 UIButton:0x7b7a3180.centerX == UIButton:0x7b770ec0.centerX>",
"<NSLayoutConstraint:0x7b7abde0 V:[UIButton:0x7b7a3180]-(2)-[UIButton:0x7b770ec0]>",
"<NSLayoutConstraint:0x7b7abe30 H:|-(0)-[UIButton:0x7b770ec0] (Names: '|':UIView:0x7b7abbf0 )>",
"<NSLayoutConstraint:0x7b7abe60 UIButton:0x7b79d0f0.centerY == UIButton:0x7b78ff40.centerY>",
"<NSLayoutConstraint:0x7b7abec0 H:[UIButton:0x7b7a3180]-(NSSpace(8))-[UIButton:0x7b79d0f0](LTR)>",
"<NSLayoutConstraint:0x7b7abf20 UIButton:0x7b79d0f0.width == UIButton:0x7b6112f0.width>",
"<NSLayoutConstraint:0x7b7abf50 UIButton:0x7b6112f0.height == UIButton:0x7b770ec0.height>",
"<NSLayoutConstraint:0x7b7abf80 UIButton:0x7b6112f0.height == UIButton:0x7b78ff40.height>",
"<NSLayoutConstraint:0x7b7abfb0 UIButton:0x7b6112f0.centerY == UIButton:0x7b770ec0.centerY>",
"<NSLayoutConstraint:0x7b7abfe0 UIButton:0x7b6112f0.width == UIButton:0x7b78ff40.width>",
"<NSLayoutConstraint:0x7b7ac010 UIButton:0x7b6112f0.width == UIButton:0x7b770ec0.width>",
"<NSLayoutConstraint:0x7b7ac040 V:|-(2)-[UIButton:0x7b78ff40] (Names: '|':UIView:0x7b7abbf0 )>",
"<NSLayoutConstraint:0x7b7ac070 H:[UIButton:0x7b79d0f0]-(NSSpace(8))-[UIButton:0x7b78ff40](LTR)>",
"<NSLayoutConstraint:0x7b7ac0a0 H:[UIButton:0x7b78ff40]-(0)-|(LTR) (Names: '|':UIView:0x7b7abbf0 )>",
"<NSLayoutConstraint:0x7b7ac0d0 UIButton:0x7b60d210.height == UIButton:0x7b6112f0.height>",
"<NSLayoutConstraint:0x7b7ac100 UIButton:0x7b60d210.centerY == UIButton:0x7b6112f0.centerY>",
"<NSLayoutConstraint:0x7b7ac130 UIButton:0x7b60d210.bottom == UIView:0x7b7abbf0.bottom>",
"<NSLayoutConstraint:0x7b7ac390 V:[UIView:0x7b7abb60(<=190)]>",
"<NSLayoutConstraint:0x7b7ac3c0 H:[UIView:0x7b7abbf0]-(4)-|(LTR) (Names: '|':UIView:0x7b7abb60 )>",
"<NSLayoutConstraint:0x7b7ac420 UIView:0x7b7abb60.centerX == UIView:0x7b7abbf0.centerX>",
"<NSLayoutConstraint:0x7b7ac450 V:[UIView:0x7b7abbf0]-(>=2)-| (Names: '|':UIView:0x7b7abb60 )>",
"<NSLayoutConstraint:0x7b7ac4b0 UIView:0x7b7abb60.centerY == UIView:0x7b7abbf0.centerY>",
"<NSLayoutConstraint:0x7b7bce60 H:[UIView:0x7b7abb60]-(0)-|(LTR) (Names: '|':UIView:0x7b7a9640 )>",
"<NSLayoutConstraint:0x7b7bce90 H:|-(0)-[UIView:0x7b7abb60](LTR) (Names: '|':UIView:0x7b7a9640 )>",
"<NSAutoresizingMaskLayoutConstraint:0x7bfa9e30 h=--& v=--& H:[UIView:0x7b7a9640(320)]>"
“”,
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
这是哪个按钮:ui按钮:0x7b6112f0
这是哪个约束:NSLayoutConstraint:0x7b7bce90
在XcodeIdentity inspector
中,我找到了一个标签字段,我标记了我所有的按钮。但在模拟器中运行时,这些标签没有任何好处
如何从该输出中识别对象?如果IB中没有显示警告/冲突,可能是由于NSAutoresizingMaskLayoutConstraint
造成的AutoresizingMask
是在引入AutoLayout
之前主要使用的东西。摆脱它,再试一次
找到列表最后一行的ui视图
对象并应用:
view.translatesAutoresizingMaskIntoConstraints = NO;
发件人:
由于自动调整大小遮罩自然会产生完全指定视图位置的约束,因此必须使用此方法将任何要应用更灵活约束的视图设置为忽略其自动调整大小遮罩。对于以编程方式创建的视图,您应该自己调用此方法。使用允许设置约束的工具创建的视图应该已经设置了该约束
如果IB中没有显示警告/冲突,可能是由于NSAutoresizingMaskLayoutConstraint
造成的AutoresizingMask
是在引入AutoLayout
之前主要使用的东西。摆脱它,再试一次
找到列表最后一行的ui视图
对象并应用:
view.translatesAutoresizingMaskIntoConstraints = NO;
发件人:
由于自动调整大小遮罩自然会产生完全指定视图位置的约束,因此必须使用此方法将任何要应用更灵活约束的视图设置为忽略其自动调整大小遮罩。对于以编程方式创建的视图,您应该自己调用此方法。使用允许设置约束的工具创建的视图应该已经设置了该约束
如果IB中没有显示警告/冲突,可能是由于NSAutoresizingMaskLayoutConstraint
造成的AutoresizingMask
是在引入AutoLayout
之前主要使用的东西。摆脱它,再试一次
找到列表最后一行的ui视图
对象并应用:
view.translatesAutoresizingMaskIntoConstraints = NO;
发件人:
由于自动调整大小遮罩自然会产生完全指定视图位置的约束,因此必须使用此方法将任何要应用更灵活约束的视图设置为忽略其自动调整大小遮罩。对于以编程方式创建的视图,您应该自己调用此方法。使用允许设置约束的工具创建的视图应该已经设置了该约束
如果IB中没有显示警告/冲突,可能是由于NSAutoresizingMaskLayoutConstraint
造成的AutoresizingMask
是在引入AutoLayout
之前主要使用的东西。摆脱它,再试一次
找到列表最后一行的ui视图
对象并应用:
view.translatesAutoresizingMaskIntoConstraints = NO;
发件人:
由于自动调整大小遮罩自然会产生完全指定视图位置的约束,因此必须使用此方法将任何要应用更灵活约束的视图设置为忽略其自动调整大小遮罩。对于以编程方式创建的视图,您应该自己调用此方法。使用允许设置约束的工具创建的视图应该已经设置了该约束
您添加了太多的约束并复制了所需的约束。您应该避免添加重复的约束。您添加了太多的约束并重复了所需的约束。您应该避免添加重复的约束。您添加了太多的约束并重复了所需的约束。您应该避免添加重复的约束。您添加了太多的约束并重复了所需的约束。您应该避免添加重复的约束。我认为您没有设置正确的约束。再次检查您添加的约束。如果您想知道哪个UIButton
是,您可以按调试器上的暂停,然后您可以数字:expr[(UIButton*)hexCode setSomeProperty:someValue]
我认为您没有设置正确的约束。再次检查您添加的约束。如果您想知道哪个UIButton
是,您可以按调试器上的暂停,然后您可以数字:expr[(UIButton*)hexCode setSomeProperty:someValue]
我认为您没有设置正确的约束。再次检查您添加的约束。如果您想知道哪个UIButton
是,您可以按调试器上的暂停,然后您可以数字:expr[(UIButton*)hexCode setSomeProperty:someValue]
我认为您没有设置正确的约束。再次检查您添加的约束。如果您想知道哪个UIButton
是,您可以按调试器上的暂停键,然后输入以下数字:expr[(UIButton*)hexCode setSomeProperty:someValue]
,这样我就知道自动调整大小已经被禁用了<代码>使用允许设置约束的工具创建的视图应该已经设置了此约束。
但是,在UI builder中,我看到所有视图都选中了自动调整视图大小
?我是否取消选中它?或者这是其他原因?列表的最后一行显示,无论出于何种原因,安装了一个NSAutoResizengMaskLayoutConstraint
。我相信您必须通过编程方式将TranslatesAutoResizengMaskintoConstraints
设置为NO
来禁用它