[英]“Unable to simultaneously satisfy constraints” when debugging
以下是我在调试区域中收到的错误消息。 它运行正常,除了我收到此错误外,没有什么错。 这会阻止苹果接受该应用程序吗? 我如何解决它?
( "<NSLayoutConstraint:0x7f9bdaf58890 UIView:0x7f9bdaf484e0.leading == UIView:0x7f9bdaf56e30.leadingMargin + 34>", "<NSLayoutConstraint:0x7f9bdaf58930 UIView:0x7f9bdaf56e30.trailingMargin == UIView:0x7f9bdaf484e0.trailing + 34>", "<NSLayoutConstraint:0x7f9bdaf58980 H:[UIView:0x7f9bdaf484e0(300)]>", "<NSLayoutConstraint:0x7f9bdaf5bfc0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7f9bdaf56e30(375)]>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x7f9bdaf58980 H:[UIView:0x7f9bdaf484e0(300)]>
我猜这发生在iPhone 6的UITableView
。
由于单元格从tableView的左边缘到达右边缘,因此单元格需要为375点宽。 UITableView添加了UIView-Encapsulated-Layout-Width
约束来实现此目的。
您添加的约束条件|-34-[centerView(=300)]-34-|
将创建一个368点的单元格宽度。
由于368!= 375,因此无法使用。
您有两种选择。
|-34-[centerView(>=300)]-34-|
|-34-[centerView]-34-|
,这将导致在iPhone 6上获得307 pt的宽视角,在iPhone 6s上,它将宽346点,在iPhone 5上,它将宽252点。 如您所说,如果系统打破width = 300约束,则该应用程序将运行,因此您可以自己删除该约束。 如果没有限制,它就没有意义。
同时具有两个边缘距离约束和一个宽度约束没有意义,并且违反了自动布局的目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.