【发布时间】:2017-08-12 14:19:50
【问题描述】:
我正在构建的内容: 我正在构建一个相机滤镜应用程序。有多个过滤器类别,每个类别中都包含过滤器。 IE:UICollectionView 中的 UICollectionView。
问题:当 isScrollEnabled 设置为 false 时,UICollectionView(过滤器类别)中的 UICollectionView(过滤器)未显示所有宽度。
这里是确定第二个 UICollectionView 宽度的代码。宽度是通过将一个过滤器的大小乘以需要显示的过滤器数量来计算的。这给出了一个完美的宽度,当 isScrollEnabled 设置为 true 时我可以滚动,但是,问题是当 isScrollEnabled 设置为 false 时,由于我无法滚动整个宽度,看起来 UICollectionView 的宽度太小了
filtersCollection.frame.size.width = contentView.frame.width * CGFloat(filters.count) + 10
filtersCollection.register(FilterCell.self, forCellWithReuseIdentifier: "FilterCell")
filtersCollection.delegate = self
filtersCollection.dataSource = self
基本上是我想要的:我想要的是它能够在不滚动的情况下显示所有的 collectionviews 宽度。
截图说明:蓝色/红色便于解释。蓝色是父collectionView中的一个单元格。 RED 是单元格内的 collectionView。红色collectionview的宽度有点太小了。该集合视图中只有两个过滤器/单元格,启用滚动后,它的大小非常完美(您可以滚动到视图的末尾)。虽然当 isScrollEnabled 设置为 false 时,我显然无法查看整个宽度。 正如您从右侧的屏幕截图中看到的那样,随着单元格的增多,问题会变得更糟,看起来宽度甚至更小。 (这让我想到它可能与部分插图有关)
我尝试过的: 1. 我认为它可能是 UICollectionViewFlowLayout 的部分插图,尽管我已经将我的插图注释掉了,所以从我看来它与部分插图无关。 (单元格看起来有插图的原因是因为图像和文本的 x 值在单元格内设置为 5 个像素。)所以在我的计算中它仍然使用整个单元格的框架...... 我真的困惑,我已尽力解释。请不要投反对票,我确实到处搜索但没有找到,如果您确实找到了一些东西,请在此处链接我!谢谢!
【问题讨论】:
标签: ios swift uiscrollview uicollectionview