Objective c Xcode自动布局在两种不同布局之间交替

Objective c Xcode自动布局在两种不同布局之间交替,objective-c,xcode,ios6,autolayout,Objective C,Xcode,Ios6,Autolayout,我在我的应用程序中遇到了一个奇怪的问题,在我运行它的一半时间里,它会正确地呈现布局,而另一半时间,某个子视图的垂直位置不正确 奇怪的是,它发生在不同的运行中,即使我根本不更改布局约束或触摸故事板 我记得看到一些关于随机设置冲突约束的内容。。。我不知道这里发生的是否就是这样。其中一个约束可能不应该存在?我猜您的布局不明确 通过在相关视图控制器中使用此代码位来验证这一点: - (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; N

我在我的应用程序中遇到了一个奇怪的问题,在我运行它的一半时间里,它会正确地呈现布局,而另一半时间,某个子视图的垂直位置不正确

奇怪的是,它发生在不同的运行中,即使我根本不更改布局约束或触摸故事板


我记得看到一些关于随机设置冲突约束的内容。。。我不知道这里发生的是否就是这样。其中一个约束可能不应该存在?

我猜您的布局不明确

通过在相关视图控制器中使用此代码位来验证这一点:

- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
NSLog(@"%@",[self view] performSelector:@selector(_autolayoutTrace)]]);
}

在控制台的输出中查找不明确的视图。

是的,确实存在不明确的布局。现在有没有办法弄清楚这些模棱两可的约束是什么?谢谢你提醒我打字错误。我已经改正了。既然您知道了哪些视图是不明确的,现在就可以解决这个不明确的问题了。当视图不明确时,意味着它在两个轴(X和Y)上至少没有两个约束。如果您需要在运行时检查约束,也可以通过调用[view constraints]打印特定视图上的约束。@eptdeveloper很抱歉,我对您的一个答案投了反对票,您感到很受伤。@mattyohe:事实上,是的,我感觉到了,如果我给出了答案,那么我也必须接受反对票,我对你也没有什么难过的感觉。