UICollectionView自身调整1个像素

时间:2013-10-09 12:58:23

标签: iphone ios objective-c uitableview

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

在每个单元格内部,我放置一个UICollectionView来占据整个单元格,该单元格也是320x195并包含UICollectionViewCell s,也是320x195px。在Interface Builder中,我已将所有section insets,min spacing,header和footer size指定为0,并指定布局应该水平流动。

我发现,当它运行时,我桌子上的每个单元格下都有一条黑线。使用精彩的Reveal框架,我追溯到这个问题,即UICollectionView似乎在运行时将自身调整为320 x 196px ,导致底部的1px间隙每个细胞。 UITableViewCell和内部UICollectionView单元格都保持在320x195,但UICollectionView正在调整自身大小并向其高度添加1px。

我无法为我的生活找出可能导致UICollectionView像这样调整自身大小的原因。现在我所做的就是将UICollectionView的大小更改为320 x 194px ,这样现在当它添加1px时,它至少会出现在正确的高度并防止黑色底部的差距 - 但这是一个骗子,我宁愿知道这个的根本原因所以我下次知道。

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

1 个答案:

答案 0 :(得分:1)

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