Ios 约束不适用于大小类

Ios 约束不适用于大小类,ios,objective-c,storyboard,autolayout,constraints,Ios,Objective C,Storyboard,Autolayout,Constraints,我正在尝试将iPhone和iPad的故事板转换成一个能够识别大小等级的故事板。为此,我需要能够在iPhone和iPad之间更改一个特定的图像宽度,并在iPad上启用/禁用一个约束 以下是我的图像宽度限制的屏幕截图: 据我所知,在iPhone上运行时应该使用230,否则应该使用400,对吗 以下是我不在iPad上时需要禁用的约束的屏幕截图: 由于某些原因,在iPhone 5/6/6+模拟器上运行此程序时,我发现无法同时满足约束条件。警告: ( "<NSLayoutConstrai

我正在尝试将iPhone和iPad的故事板转换成一个能够识别大小等级的故事板。为此,我需要能够在iPhone和iPad之间更改一个特定的图像宽度,并在iPad上启用/禁用一个约束

以下是我的图像宽度限制的屏幕截图:

据我所知,在iPhone上运行时应该使用230,否则应该使用400,对吗

以下是我不在iPad上时需要禁用的约束的屏幕截图:

由于某些原因,在iPhone 5/6/6+模拟器上运行此程序时,我发现
无法同时满足约束条件。
警告:

(
    "<NSLayoutConstraint:0x7f99f17704e0 H:[UIImageView:0x7f99f1770370(400)]>",
    "<NSLayoutConstraint:0x7f99f17718d0 UIView:0x7f99f1771710.width == IATextFieldEx:0x7f99f1768be0.width + 160>",
    "<NSLayoutConstraint:0x7f99f1773210 UIImageView:0x7f99f1770370.width == IATextFieldEx:0x7f99f17639e0.width>",
    "<NSLayoutConstraint:0x7f99f17734e0 H:[UIView:0x7f99f1771710]-(0)-|   (Names: '|':UIView:0x7f99f1771620 )>",
    "<NSLayoutConstraint:0x7f99f1773580 H:|-(0)-[UIView:0x7f99f1771710]   (Names: '|':UIView:0x7f99f1771620 )>",
    "<NSLayoutConstraint:0x7f99f1492ce0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7f99f1771620(320)]>",
    "<NSLayoutConstraint:0x7f99f1732250 IATextFieldEx:0x7f99f1768be0.width == IATextFieldEx:0x7f99f17639e0.width>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7f99f17718d0 UIView:0x7f99f1771710.width == IATextFieldEx:0x7f99f1768be0.width + 160>
(
"",
"",
"",
"",
"",
"",
""
)
将尝试通过打破约束进行恢复

我错过了什么明显的东西吗?为什么Xcode在iPhone上运行时仍然使用w:Any h:Any约束

不能轻易地把它放在评论中,所以这里有一个答案。它应该以如下方式显示安装的size类。如果不是,则表示出现了问题-是否尝试重新创建约束


到目前为止,我对尺寸限制的有限经验是,如果没有安装[X],它们将不适用。奇怪的是,您的第一个屏幕截图甚至没有显示size类的安装选项?@remus:第一个屏幕截图默认显示“已安装”。所以应该启用“始终应用”,不是吗?这是全局约束/默认值,而不是大小类1。尺寸类约束始终显示为X。如果您单击+,它将允许您添加更多的大小类。但是如果未指定大小类1,则应应用全局值。对吗?是的,应该是这样,这就是为什么我有点困惑为什么“已安装”框没有显示在屏幕截图中。这个配置应该与我在第一个屏幕截图上发布的默认配置相同。我说得对吗?我的意思是,行为应该是一致的。