【发布时间】:2013-01-25 21:18:31
【问题描述】:
我的 iPad 项目中出现自动布局约束错误。当我将设备旋转到横向时,我在 IB 中创建的自定义 UICollectionViewCell 会发生这种情况。问题是没有一个约束是可删除的。我仍在学习自动布局,所以我确信这可能只是添加一些限制并删除一些默认限制的问题,但我被卡住了。我的自定义单元格肯定会发生这种情况 - 当我删除它并使用普通的旧 UICollectionViewCell 时,我没有收到任何错误。
我四处搜索并尝试将自定义单元格上的 translatesAutoresizingMaskIntoConstraints 设置为 NO,但随后出现以下错误:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。 UICollectionView 的-layoutSubviews 实现需要调用super。'
在我的自定义单元格的子视图上将其设置为 NO 可以正常工作,但是当我在单元格本身上设置它时它会出错。
这是我得到的自动布局约束错误 - 这是常见的错误:
可能至少以下列表中的一个约束是您不想要的。试试这个:(1)查看每个约束并尝试找出您不期望的; (2) 找到添加了一个或多个不需要的约束的代码并修复它。 (注意:如果您看到不理解的 NSAutoresizingMaskLayoutConstraints,请参阅 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档)
(
"NSAutoresizingMaskLayoutConstraint:0x76bf950 h=-&- v=-&- CMAGalleryCollectionViewCell:0x7687690.height == UICollectionView:0x9161e00.height - 875","NSAutoresizingMaskLayoutConstraint:0x76693c0 h=--& v=--& V:[UIView:0x7665470(704)]",
"NSLayoutConstraint:0x7665850 UICollectionView:0x9161e00.bottom == UIView:0x7665470.bottom",
“NSLayoutConstraint:0x7665740 V:|-(0)-[UICollectionView:0x9161e00](名称:'|':UIView:0x7665470)” )
将尝试通过打破约束来恢复 NSLayoutConstraint:0x7665850 UICollectionView:0x9161e00.bottom == UIView:0x7665470.bottom
非常感谢任何帮助或建议。
谢谢!
【问题讨论】:
-
请同时包含错误日志中的约束列表
-
抱歉这个愚蠢的问题,但我究竟在哪里可以找到错误日志?
-
就在您上面引用的错误下方。它将是尖括号内的约束列表。
-
哦,对了。添加到原始消息中。谢谢。
标签: ios objective-c ipad ios6 autolayout