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

UICollectionView 部分标题闪烁问题

Swift 3 - iOS 11.2上的UICollectionview问题