Ios7 约束常量为nil iOS 7,但不在iOS 8中

Ios7 约束常量为nil iOS 7,但不在iOS 8中,ios7,ios8,autolayout,nslayoutconstraint,iboutlet,Ios7,Ios8,Autolayout,Nslayoutconstraint,Iboutlet,我有3个出口可以在3个视图中更改常量变量,但我似乎不明白为什么会发生这种情况。注意:这与接口无关(因此没有setneedlayout或LayoutIfNeeds答案)。我明白了 // iOS 7 _fillerConstraint.constant = 200; NSLog(@"_fillerConstraint: %f", _fillerConstraint.constant); 2015-02-15 08:55:14.54飓风[44367:613] // iOS 8 _fillerCon

我有3个出口可以在3个视图中更改常量变量,但我似乎不明白为什么会发生这种情况。注意:这与接口无关(因此没有setneedlayout或LayoutIfNeeds答案)。我明白了

// iOS 7
_fillerConstraint.constant = 200;
NSLog(@"_fillerConstraint: %f", _fillerConstraint.constant);
2015-02-15 08:55:14.54飓风[44367:613]

// iOS 8
 _fillerConstraint.constant = 200;
NSLog(@"_fillerConstraint: %f", _fillerConstraint.constant);
2015-02-15 08:55:14.547飓风[44367:613]


将从ViewWillAppeal调用一个方法来设置这些值并执行一些动画。在iOS 8中一切正常,工作正常。但是在iOS7中,调试器报告约束为nil。有人知道是什么导致了这种行为吗?

在清理应用程序并重置模拟器之后。它很好用。对于这样的问题,答案是,Xcode 6充满了bug。

这听起来可能很愚蠢,但对于未来的傻瓜来说,我的问题是约束的视图不再在视图层次结构中(我删除了它)很明显,约束为零。

在第一个示例中,由于某种原因,
\u fillerConstraint
是否有可能为零?@PhillipMills您是对的!它在iOS 7中报告为零。我已经将属性设置为弱和强,它是零。我不知道为什么。你所处的领域我真的不知道,但我想知道当约束被初始化时,操作系统是否发生了变化。如果您将代码移动到
viewdide
,结果会不同吗?@PhillipMills否,它仍然是nil viewdide。必须有一些症状来解释为什么iOS 7中为零。我不知道如何调试它。您是否使用仅在iOS 8中可用的自动布局功能?像大小类或布局页边距?这很有效(Xcode 6.3)。另外,强烈建议禁用类并在最后一次调整之前使用它,以避免出现这种情况和其他意外结果。