视图控制器加载时自动布局警告

时间:2014-11-27 14:46:37

标签: ios ios8 autolayout xcode6

我已经尽力阅读其他一些帖子,但仍然难以理解为什么这会对我的自动布局发出警告,并希望有人可以提出建议。我在xcode6。

问题#1 - 对于自动布局限制,这些警告/崩溃通常是否正常?或者这是一件非常严肃的事情,我应该尽力解决?

问题#2 - 这是输出。我觉得这与我在视图控制器中的项目上设置宽高比有关(我有3个视图作为矩形,我希望它们是15%,60%,25%的高度和完整等宽)。我想告诉它保持宽高比是处理这个问题的正确方法吗?

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0x7f8a66031bc0 V:[UITableView:0x7f8a65837c00(73)]>",
    "<NSLayoutConstraint:0x7f8a6605c150 UITableView:0x7f8a65837c00.width == 7.78082*UITableView:0x7f8a65837c00.height>",
    "<NSLayoutConstraint:0x7f8a6604e970 UICollectionView:0x7f8a65838400.leading == UIView:0x7f8a66031eb0.leadingMargin>",
    "<NSLayoutConstraint:0x7f8a6604e9c0 UICollectionView:0x7f8a65838400.trailing == UIView:0x7f8a66031eb0.trailingMargin>",
    "<NSLayoutConstraint:0x7f8a6604ea10 UICollectionView:0x7f8a65838400.width == UITableView:0x7f8a65837c00.width>",
    "<NSLayoutConstraint:0x7f8a63c4ccf0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7f8a66031eb0(320)]>"
)

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

[[NSUserDefaults standardUserDefaults] setValue:@(NO) forKey:@"_UIConstraintBasedLayoutLogUnsatisfiable"];

此控制台警告不会出现任何问题。 在appdelegate中添加此代码。这将隐藏来自控制台的约束错误消息

答案 1 :(得分:0)

1)我建议你解决问题而不是留在那里。如果你已经测试了应用程序并且它看起来像你想要但是你只是推迟了不可避免的事情,你可能会把它们留在那里。

2)查看约束代码可以更容易地看到出错的地方。您想要做的是将乘数设置为以下值:

  • 矩形1:15.0f / 100.0f
  • 矩形2:60.0f / 100.0f
  • 矩形3:25.0f / 100.0f