1

我有一个UITableView其中每个单元格为 320x195px,并且单元格之间没有分隔符。

在每个单元格内,我放了一个UICollectionView来占据整个单元格,它也是 320x195 并且包含UICollectionViewCell也是 320x195px 的 s。在 Interface Builder 中,我将所有部分的插入、最小间距、页眉和页脚大小都指定为 0,并指定布局应水平流动。

我发现,当它运行时,我表格中的每个单元格下面都有一条黑线。使用出色的Reveal框架,我将这个问题追溯到这样一个事实,即在运行时UICollectionView似乎将自身调整为 320 x 196px,导致每个单元格底部有 1px 的间隙。UITableViewCell和内部单元格都UICollectionView保持在 320x195,但UICollectionView正在调整自身大小并将其高度增加 1px。

我一生都无法弄清楚是什么导致了UICollectionView像这样调整自己的大小。现在我所做的是将我的大小更改UICollectionView为 320 x 194px,这样现在当它添加 1px 时,它至少会出现在正确的高度并防止底部出现黑色间隙——但这是作弊,我宁愿知道这件事的根本原因,以便下次知道。

唯一可能与此相关的是我的根UITableViewCell有一个子视图,它是“内容视图”(因为所有UITableViewCells 似乎都被迫拥有),并且 IB 告诉我这个视图的大小是 320x194(以及任何选项调整它是灰色的)。

4

1 回答 1

1

我有同样的问题并找到了原因:在我的情况下,这是因为 UICollectionView 的 y 位置的实例位于像素分数上,例如 10.5 我的解决方案:将 y 位置四舍五入为整数 (10)

于 2013-11-19T15:21:34.293 回答