我正在手机上使用Xcode 5和iOS 7制作iPhone应用程序;该应用程序适用于iOS 7.但是,当我在iPhone 6.1模拟器上运行该应用程序时,我收到了此消息:
2013-09-01 10:46:30.075 Bars[30745:c07] 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)
(
"<NSAutoresizingMaskLayoutConstraint:0x81b80a0 h=--- v=--- V:[UIWindow:0x8196f60(480)]>",
"<NSAutoresizingMaskLayoutConstraint:0x81b6910 h=-&- v=-&- UILayoutContainerView:0x8197530.height == UIWindow:0x8196f60.height>",
"<NSAutoresizingMaskLayoutConstraint:0x81b53b0 h=-&- v=-&- UITransitionView:0x75c0830.height == UILayoutContainerView:0x8197530.height - 49>",
"<NSAutoresizingMaskLayoutConstraint:0x81b40f0 h=-&- v=-&- UIViewControllerWrapperView:0x75f38e0.height == UITransitionView:0x75c0830.height>",
"<NSLayoutConstraint:0x75f5d10 V:[UILabel:0x75f6ee0(24)]>",
"<NSAutoresizingMaskLayoutConstraint:0x81b29b0 h=-&- v=-&- UIView:0x75f7500.height == UIViewControllerWrapperView:0x75f38e0.height>",
"<NSLayoutConstraint:0x7578850 V:[UILabel:0x75f7220]-(124)-| (Names: '|':UIView:0x75f7500 )>",
"<NSLayoutConstraint:0x75fbfc0 UILabel:0x75f7220.baseline == UILabel:0x75f6ee0.baseline>",
"<NSLayoutConstraint:0x75fbcc0 V:[UIView:0x75f3ab0]-(11)-[UILabel:0x75f6ee0]>",
"<NSLayoutConstraint:0x75fbe40 V:|-(321)-[UIView:0x75f7160] (Names: '|':UIView:0x75f7500 )>",
"<NSLayoutConstraint:0x75fbe80 UIView:0x75f7160.top == UIView:0x75f3ab0.top>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x75f5d10 V:[UILabel:0x75f6ee0(24)]>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
我尝试删除所有约束,但我收到错误,说我需要约束。我是Objective-C的新手,所以我真的不知道怎么读这些。如果你能使你的答案变得非常简单,那将非常有用!
答案 0 :(得分:5)
请记住,iOS 7仍然在NDA下。
此日志的含义是,您使用的是自动布局,并且您有两个相互矛盾的约束。
例如: 您的观点有限制:
这适用于任何超级视图,即568pt高度。例如,在iPhone 5上的全屏应用程序上。一旦超视图的大小发生变化(例如,当您的设备大小不同时),您将收到错误。
尝试两件事:
永远不要将所有约束放在对象上。要么:
尝试在viewcontroller上设置use Fullscreen
。由于NDA,我目前无法解释,iOS 7和iOS 6之间的区别是什么,但我认为它可能有所帮助。
答案 1 :(得分:-3)
您只需查看控制器的文件检查器,然后取消选择Use Auto-Layout
。