Ios UICollectionView会闪烁“瘦”;看穿;滚动时单元格之间的行

Ios UICollectionView会闪烁“瘦”;看穿;滚动时单元格之间的行,ios,objective-c,interface-builder,Ios,Objective C,Interface Builder,我有一个UICollectionView,其中的单元格填充了背景图像。集合视图的行距为0 这在iOS 6.1上运行得非常好,但在iOS 8.1.3的iPhone 6上进行测试时,我发现在集合视图加载时,单元格之间会自发出现细细的“透明”线,然后在滚动时会跳跃 那么,如何去除这些行呢?我找到了一个解决方案:确保所有单元格都未选中“剪辑子视图”。我想这一定是一个bug,因为解决方案没有意义,但它解决了问题。编辑*-这实际上是由于应用程序的部署目标设置为iOS7造成的。当我切换到ios8时,问题就消失

我有一个UICollectionView,其中的单元格填充了背景图像。集合视图的行距为0

这在iOS 6.1上运行得非常好,但在iOS 8.1.3的iPhone 6上进行测试时,我发现在集合视图加载时,单元格之间会自发出现细细的“透明”线,然后在滚动时会跳跃


那么,如何去除这些行呢?

我找到了一个解决方案:确保所有单元格都未选中“剪辑子视图”。我想这一定是一个bug,因为解决方案没有意义,但它解决了问题。

编辑*-这实际上是由于应用程序的部署目标设置为iOS7造成的。当我切换到ios8时,问题就消失了

听起来您需要更新应用程序以正确支持iPhone 6/6+屏幕大小。我的一个应用程序有这个问题

你需要进入你的项目设置并设置一个启动屏幕文件,以便它知道在iphone 6/6+上以实际大小显示你的应用程序;否则,它只会显示iPhone 5s上显示的缩放视图


我假设这种情况发生是因为从iphone5到6/6+的缩放比例并不完全是1:1像素比。例如,由于缩放不完美,y:50处的线条可能有1个像素高,但y:51处的线条可能有2个像素高,这在滚动时会引起明显的闪烁。

我也遇到了同样的问题,但在配备iOS7的iPhone 4上也出现了同样的问题(不仅在配备iOS8.1的iPhone 6上)。“透视”行出现在我的分区标题和单元格之间,其中一些是永久性的,其他的在我滚动视图时可能会闪烁或消失

正如卢卡斯·卡林斯基(Lukas Kalinski)所建议的那样,我可以将我的部分标题和单元格的背景扩展两个像素(在底部),并将两个视图都设置为不剪裁其子视图。单独禁用剪辑不起作用

这对我来说很有效,但有点像黑客。不知道为什么iOS会出现这种行为。我觉得我们还是缺少一些东西


我没有尝试建议的答案,因为我需要支持iOS6+,而且我无法停止使用iPhone 6缩放模式。

检查收集视图的宽度和高度是否是单元格宽度和高度的精确倍数。

要测试,制作一个空的桌面视图,上下滚动,观察iphone6/6+屏幕上的灰线大小的细微变化。哦,我完全忘记了放大的事情了!非常感谢。现在我要做的工作比我想象的要多(我必须用一些东西填补空白),但它看起来会更好。@LukasKalinski刚刚意识到这个问题实际上是由iOS7进行缩放造成的。如果您的应用程序将其部署目标设置为iOS7,则缩放(拉伸)将如前所述。如果您将部署目标设置为iOS8,它似乎可以解决这个问题。因此,如果您真的不想检查所有视图以获得完美的自动布局符合性,您仍然可以使此缩放视图看起来很好;只需在项目设置中将您的部署目标更新为iOS 8即可。感谢您的更新!不幸的是,我必须以iOS6+为目标,所以这并不能解决我的问题。但是,您最初提出的解决方案效果很好,自从我实现它以来,问题就消失了。对我来说不起作用,我的单元格边缘仍然闪烁。在我的情况下,collectionview项与collection视图的宽度并不完全匹配。在我确定总宽度/高度是单元格宽度/高度的一个干净分数后,问题就消失了。