iOS 9 上的 UICollectionViewCell 中的大小类错误
Posted
技术标签:
【中文标题】iOS 9 上的 UICollectionViewCell 中的大小类错误【英文标题】:Wrong size class in UICollectionViewCell on iOS 9 【发布时间】:2015-08-14 13:08:49 【问题描述】:我有一个在 Xcode 6 中创建的带有集合视图的故事板,并且单元格具有不同的大小类变化,例如不同的字体大小......(在故事板中创建的集合和单元格) 当我在带有 Xcode 7 beta 5 的 ios 9 上运行该应用程序时,集合视图单元格显示错误的尺寸等级,只有在方向更改后它才会显示正确的尺寸等级。在 iOS 8 上它运行良好。 我尝试使用 Xcode 7 从头开始重新创建所有集合和单元格,它修复了一些集合但不是全部,其中一些仍然显示错误的大小类。 我还能做什么?
【问题讨论】:
我不知道为什么,也许是 Voodoo,但我有一行代码“myCollection.showsVerticalScrollIndicator = false”,我删除了该行并修复了集合。即使我在 IB 中取消选择“显示垂直指示器”,它也会重现问题。 【参考方案1】:从 Xcode 6 迁移到 Xcode 7 / iOS 8 到 iOS 9 后,我的项目中遇到了同样的问题。看来我的 UICollectionViewCell 实际上是正确的大小。然而,它的 contentView 等于 UIStoryBoard 的大小。
我已经能够通过将此代码添加到我的 UICollectionViewCell 子类来“修复”它:
- (void)setBounds:(CGRect)bounds
[super setBounds:bounds];
self.contentView.frame = bounds;
编辑:Xcode 7.0.1 修复了这个问题。
【讨论】:
【参考方案2】:我“使用自动布局”并禁用“使用大小类”解决了我的这个问题
【讨论】:
以上是关于iOS 9 上的 UICollectionViewCell 中的大小类错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS 6 和 iOS 7 上的 UICollectionView 重新加载
iPhone 3GS 上的 iOS 6.0 上的 UICollectionView 崩溃
Swift 3 - iOS 11.2 上的 UICollectionview 问题
当我在 iOS 14 上的 UITableView 单元格内使用 UICollectionView 时,不会调用 UICollectionView cellForItemAt