【发布时间】:2014-11-13 17:39:09
【问题描述】:
所以,最好贴图来理解
我在这里没有使用任何约束,因为当我开始使用约束时,会抛出约束警告。我在故事板(159/50)中设置单元格的大小,最小间距为1,也在代码中
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(159, 50);
}
我还设置了 "Clip Subviews" 在collectionview、collectionviewcell、单元格中的视图和视图中的按钮以查看视图的放置位置。 “自动调整子视图” 没有做任何事情,我已经检查过了。每个视图的模式设置为“缩放以适应”。 单元格的大小可以是默认的或自定义的,这也没有意义。
那么,为什么会发生这种情况?我在这上面花了 2 天时间。请帮忙。
我还附上了带有限制条件的屏幕截图。
我在单元格内的 UIView 和此 UIView 内的 UILabel 上设置了顶部、底部、前导和尾随约束。
但在这种情况下,我在每个设备上都遇到了约束错误:
(
"<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050 )>",
"<NSLayoutConstraint:0x7fd0834b0b60 H:|-(35)-[UIButton:0x7fd0834b0140'Button'] (Names: '|':UIView:0x7fd0834b0050 )>",
"<NSLayoutConstraint:0x7fd0834b0dd0 H:|-(20)-[UIView:0x7fd0834b0050] (Names: '|':UIView:0x7fd0834aff60 )>",
"<NSLayoutConstraint:0x7fd0834b0e70 H:[UIView:0x7fd0834b0050]-(19)-| (Names: '|':UIView:0x7fd0834aff60 )>",
"<NSAutoresizingMaskLayoutConstraint:0x7fd0834b27c0 h=--& v=--& H:[UIView:0x7fd0834aff60(50)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050 )>
我认为出现此错误是因为单元格大小设置不正确,在我的情况下,它设置为默认 50x50,我已经检查过。
所有这些问题都是在安装 xcode 6 后出现的。
有趣的是:当我使用 UICollectionViewController,而不是 UIViewController 和内部的 UICollectionView 并打开所需的代表时,我的应用程序正常工作。
【问题讨论】:
-
在周末搜索答案后,我在这里找到了我需要的东西stackoverflow.com/questions/24750158/…
-
将评论替换为问题的答案
标签: ios ios7 uicollectionview ios8 uicollectionviewcell