UITableView行分隔符问题

Anc*_*inu 2 uitableview ios autolayout

我的应用程序由UITableView动态高度行组成,所有行都使用AutoLayout(以编程方式).

UITableView没有任何分隔符,我自己在每一行上绘制它们(只有一个Upiew的1px ......).所以UITableView设置没有任何分隔符.

这很好用.但是有些随机时间,特别是当视图中有很多不同的行高时,某些行之间会出现一些分离.这使得背景(橙色)可见并且看起来像一个bug(见下图).

我认为在管理每行的高度时,它是iOS的一个错误实习生,它可能是系统试图显示的接近0的值,因此显示1px高度线.

我对所有可能成为解决方案的建议持开放态度.

编辑

我添加了一张更大的图片,显示了问题.我无法添加cellForRowAtIndexPath代码,因为它非常复杂.我能说的是:

  • 考虑到它们的含量,细胞1,3,5具有动态高度.
  • 细胞3,5是相同类型的,并且可以在它们之间重复使用
  • 单元2,4是相同类型的,并且可以在它们之间重复使用,并且具有固定的高度
  • 如果我没有显示第2行和第3行,问题就不会显示出来(但我可能还有其他不同的情况,它实际上是随机的).

重要提示:即使数据完全相同,问题也不会出现在模拟器上.

编辑2

这是我如何设置白色背景到我的单元格

self.backgroundColor = [UIColor clearColor];    
self.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageWithColor:[UIColor whiteColor]]];
Run Code Online (Sandbox Code Playgroud)

分隔符问题

And*_*tis 6

也许问题是由您的代码提供动态单元格高度引起的,小数小于一个视网膜像素(0.5).尝试舍入您返回的值- tableView:heightForRowAtIndexPath:(如果您还没有将其舍入),看看是否有帮助.