滚动时,UICollectionView 在单元格之间闪烁 "see through" 条细线
UICollectionView flickers thin "see through" lines between cells when scrolling
我有一个 UICollectionView,其中的单元格填充有背景图像。集合视图的行间距 = 0。
这在 iOS 6.1 上运行得非常好,但是当在 iPhone 6 和 iOS 8.1.3 上测试时,我看到 "see through" 细线自发出现在集合视图加载的单元格之间,然后在滚动时它们会跳来跳去。
那么,我该如何摆脱这些线条呢?
我找到了一个解决方案:确保所有单元格都"Clip subviews"未选中。我想这一定是一个错误,因为解决方案没有意义,但它解决了问题。
EDIT* - 这实际上是由应用程序的部署目标设置为 iOS7 引起的。当我切换到 ios8 时,问题就消失了。
听起来您需要更新您的应用才能正确支持 iPhone 6/6+ 屏幕尺寸。我的一个应用程序有这个问题。
您需要转到您的项目设置并设置一个启动屏幕文件,以便它知道在 iphone 6/6+ 上以实际大小显示您的应用;否则,它只会显示在 iPhone 5s 上看到的缩放视图。
我假设发生这种情况是因为从 iphone5 缩放到 6/6+ 并不完全是 1:1 像素比率。例如,由于不完美的缩放比例,y:50 处的一条线可能高 1 个像素,但在 y:51 处它可能高 2 个像素,这在滚动时会导致明显的闪烁。
我有同样的问题,但它也发生在 iPhone 4 和 iOS7 上(不仅在 iPhone 6 和 iOS8.1 上)。 "See through" 行出现在我的部分 header 和单元格之间,其中一些是永久性的,其他的可能会在我滚动视图时闪烁或消失。
我可以解决它,将我的部分 header 和单元格的背景扩展两个像素(在底部)并将两个视图设置为不剪裁其子视图,正如 Lukas Kalinski 所建议的那样。单独禁用剪辑不起作用。
这对我有用,但有点麻烦。不确定为什么 iOS 会出现这种行为。我觉得我们还缺少一些东西。
我没有尝试建议的答案,因为我需要支持 iOS6+,而且我无法停止使用 iPhone 6 比例模式。
检查集合视图的宽度和高度是否正好是单元格宽度和高度的倍数。
我有一个 UICollectionView,其中的单元格填充有背景图像。集合视图的行间距 = 0。
这在 iOS 6.1 上运行得非常好,但是当在 iPhone 6 和 iOS 8.1.3 上测试时,我看到 "see through" 细线自发出现在集合视图加载的单元格之间,然后在滚动时它们会跳来跳去。
那么,我该如何摆脱这些线条呢?
我找到了一个解决方案:确保所有单元格都"Clip subviews"未选中。我想这一定是一个错误,因为解决方案没有意义,但它解决了问题。
EDIT* - 这实际上是由应用程序的部署目标设置为 iOS7 引起的。当我切换到 ios8 时,问题就消失了。
听起来您需要更新您的应用才能正确支持 iPhone 6/6+ 屏幕尺寸。我的一个应用程序有这个问题。
您需要转到您的项目设置并设置一个启动屏幕文件,以便它知道在 iphone 6/6+ 上以实际大小显示您的应用;否则,它只会显示在 iPhone 5s 上看到的缩放视图。
我假设发生这种情况是因为从 iphone5 缩放到 6/6+ 并不完全是 1:1 像素比率。例如,由于不完美的缩放比例,y:50 处的一条线可能高 1 个像素,但在 y:51 处它可能高 2 个像素,这在滚动时会导致明显的闪烁。
我有同样的问题,但它也发生在 iPhone 4 和 iOS7 上(不仅在 iPhone 6 和 iOS8.1 上)。 "See through" 行出现在我的部分 header 和单元格之间,其中一些是永久性的,其他的可能会在我滚动视图时闪烁或消失。
我可以解决它,将我的部分 header 和单元格的背景扩展两个像素(在底部)并将两个视图设置为不剪裁其子视图,正如 Lukas Kalinski 所建议的那样。单独禁用剪辑不起作用。
这对我有用,但有点麻烦。不确定为什么 iOS 会出现这种行为。我觉得我们还缺少一些东西。
我没有尝试建议的答案,因为我需要支持 iOS6+,而且我无法停止使用 iPhone 6 比例模式。
检查集合视图的宽度和高度是否正好是单元格宽度和高度的倍数。