ios - UITableView 行分隔符问题

标签 ios uitableview autolayout

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

我的 UITableView 没有任何分隔符,我自己在每一行上绘制它们(只有一个 1px 的 UIView...)。因此 UITableView 设置为没有任何分隔符。

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

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

我愿意接受所有可能成为解决方案的建议。

编辑

我添加了一张更大的图片,可以很好地说明问题。 我无法添加 cellForRowAtIndexPath 代码,因为它非常复杂。 我能说的是:

  • 考虑到内容,单元格 1、3、5 具有动态高度。
  • 单元格 3、5 属于同一类型,并且可以在它们之间重复使用
  • cells 2, 4 属于同一类型,可在它们之间重复使用,并且高度固定
  • 如果我不显示第 2 行和第 3 行,问题就不会出现(但我可以在其他不同的情况下,它真的有点随机)。

重要说明:即使使用完全相同的数据,问题也不会出现在模拟器上。

编辑 2

下面是我如何为我的单元格设置白色背景

self.backgroundColor = [UIColor clearColor];    
self.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageWithColor:[UIColor whiteColor]]];

separator issue

最佳答案

问题可能是由于您的代码提供的动态单元格高度的小数部分小于一个视网膜像素 (0.5)。尝试四舍五入您在 - tableView:heightForRowAtIndexPath: 中返回的值(如果您还没有四舍五入),看看是否有帮助。

关于ios - UITableView 行分隔符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22297178/

相关文章:

iphone - 搜索大量数据来自iPhone中的Web服务

ios - 可以从其他 ViewController 类更改 UILabel 的字体

ios - 以编程方式自动布局不起作用

ios - 带有 ContentInset 的 UICollectionView 没有一直向下滚动

ios - 当用户开始在 UITableView 上滚动时使用 alpha 隐藏 UIView?

ios - 使用Autolayout时在layoutSubviews中添加subview是否正确

NSURLConnection sendAsynchronousRequest 在哪个线程上运行的 iOS

ios - 如何在 objective-c 中用破折号替换空格?

ios - 以编程方式创建文本字段和按钮单击按钮获取文本字段文本

iOS 从 Swift 类/对象重新加载 UITableView