UICollectionView 单元格位置在 iPhone6 中的变化

Posted

技术标签:

【中文标题】UICollectionView 单元格位置在 iPhone6 中的变化【英文标题】:UICollectionView Cell position changing in IPhone6 【发布时间】:2016-04-01 05:10:05 【问题描述】:

我真的坚持这一点,因为我有一个 CollectionView,它包含 2 行。一行的宽度等于 viewController(320) 的宽度。它在 iphone 4 和 Iphone 5s 中工作正常,但在 Iphone 6 中它看起来像这样..

蓝色的是第一排,红色的是第二排... 我已经像这样配置了collectionview...

 [flowLayout setItemSize:self.bounds.size];

self.collectionView = [[UICollectionView alloc]initWithFrame:self.bounds collectionViewLayout:flowLayout];

所以它在每个视图上都是 self.bounds 并且工作正常,但在 Iphone 6s 中它不适合 self.bounds 为什么..请帮助

【问题讨论】:

我建议您从故事板/xib 中添加您的 UICollectionView,并将插座链接到您的 ViewController。这样你就可以在你的故事板/xib 中设置 UICollectionView 的约束,并完全避免 UICollectionView 的初始化 Thnxx 请注意,实际上我已经制作了一个 UICollectionview 的自定义类,并且我可以在需要的地方使用它。 在故事板/xib 中,您可以在检查器中指定 UICollectionView 属于您自己的自定义类,如果您实现了一个,您甚至可以指定您的自定义 UICollectionViewFlowLayout。干杯 Thnxx 但是没有xib我不能解决这个问题... Thnxx 求助,这个问题由 layoutsubviews 解决... 【参考方案1】:

你可以试试这个,而不是self.bound

CGRect screenRect = [[UIScreen mainScreen] bounds];

【讨论】:

我已经尝试过了,但是当我的单元格尺寸变小时,它仍然会在全视图中滚动...

以上是关于UICollectionView 单元格位置在 iPhone6 中的变化的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView:获取屏幕位置的单元格

如何调整 uicollectionview 单元格中 imageview 的位置?

uicollectionview 单元格位置未在网格上对齐

UICollectionView 与屏幕上任何位置的单元格

UICollectionView 在保持位置上方插入单元格(如 Messages.app)

在 iOS 13 上拖动时,UICollectionView 单元格捕捉到原始位置