如何删除 UITableView 单元格之间的分隔

Posted

技术标签:

【中文标题】如何删除 UITableView 单元格之间的分隔【英文标题】:How to remove separation between UITableView cells 【发布时间】:2011-01-31 18:31:25 【问题描述】:

我想删除 UITableView 中单元格之间的内置分隔。

我尝试使用:

[self.myTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

但这只会删除分隔线。 我需要让视图看起来好像根本不是表格视图。 (就像 tableview 是一个不包含许多分隔单元格的大视图)

这可能吗?

编辑: 看到细胞之间的分离了吗?我不希望它消失,表格视图就好像它是一个大单元格。

编辑 2: 当我不使用图像视图作为单元格背景时,问题不会出现,而只是使用简单的背景颜色。 我尝试使用不同的图像,如您所见,问题不那么明显。 不过,我仍然很欣赏红色图像的解决方案,因为我确实有很多图像目前仍然无法作为背景。 (不知道为什么一张图片会导致问题而另一张不会,我猜是图片设置的问题)

【问题讨论】:

如果它看起来不像 UITableView 那你为什么要使用呢? @AntwanVanHoudt - 表格视图用于布置数据。什么。最终结果看起来无关紧要。 如果您使用UITableViewStylePlain 并且没有节标题/页脚,则根本看不到任何分隔符。 看起来红色的图像有阴影,每个单元格的顶部显示图像的顶部,从而产生线条效果。如果您希望该图像中的渐变没有分离的外观,请将表格视图放在图像顶部,并将表格视图单元格颜色设置为 UIColor clearColor。这应该会阻止它在每个单元格中重复。 【参考方案1】:

你可以这样做

self.tableView.separatorColor = [UIColor whiteColor];

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

我想在你的情况下会是

self.myTableView.separatorColor = [UIColor whiteColor];

将来你可能想搜索 Stack Overflow,因为有很多 similar questions。

【讨论】:

你没看我的问题吗?因为我已经完全按照您的建议进行了尝试,但并没有完成所有工作。 嗯,您想要的 what 令人困惑,因为您说“我需要让视图看起来好像根本不是表格视图。(就像表格视图是一个大视图,不包含许多单独的单元格)”,这让我(和其他海报)想知道 为什么 你完全使用 TableView。如果您想要没有滚动效果的表格视图结构,只需 self.tableView.scrollEnabled = NO; 如果您没有得到满意的回复,也许您可​​以澄清您的问题。【参考方案2】:

您的分离是由于红色示例中的背景渐变,而不是来自 tableView。在您的第二张图片中没有渐变,因此您看不到分离。

把背景图的渐变去掉就好了。

【讨论】:

【参考方案3】:

尝试这样做:

self.tableView.backgroundColor=[UIColor clearColor];
self.tableview.separatorColor=[UIColor clearColor];
self.view.backgroundColor=[UIColor yourcolor];

我不记得它是用图像着色还是用背景图像着色还是用视图着色..不记得了,但是逻辑方式是这样的。

希望有用

【讨论】:

【参考方案4】:

如果你只是想摆脱 UITableView 单元格之间的分隔符。你需要两件事。

    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 确保您的 imageView(在您的 tableview 单元格中)与 tableview 单元格具有相同的高度。这意味着您的图像视图完全覆盖了表格视图单元格。转到检查器视图并验证高度,如果您看到高度为 43,只需将其设置为 44(44 是视网膜显示的默认 tableview 单元格高度)。

【讨论】:

【参考方案5】:

Go StroyBaord -> 选择表 -> 属性检查器 -> 分隔符无 不会出现分隔符

【讨论】:

【参考方案6】:

您似乎已经回答了自己的问题。如果您想要纯色背景,请仅使用纯色制作图像。我怀疑这不是最佳实践,但它会完成工作。

【讨论】:

嗨 Moshe,我确实使用自定义单元格,但我想问题不在于单元格,而在于 TableView 如何呈现它们。 我会尝试您对这些部分的建议,并让您知道结果。谢谢 抱歉,您的建议无效。也许你不太了解我,现在看看我的问题 - 我编辑了它。【参考方案7】:

我已经在自己的应用程序中多次这样做了。我了解您希望让您的 tableview 看起来好像不是 tableview,而是好像它在一张白纸上。

只是给你一个提示,你可以看到一些图像的分离而不是其他图像的分离是由于它的图像纹理。当您并排放置图像的副本时,它们没有连续的图案,从而形成明显的视觉分离。

解决方案: 假设您在 xib 文件中设置了 tableview,显示表格本身的背景以清除 -> 然后将视图本身的背景设置为您喜欢的任何图像。然后,您将拥有一个背景视图透明的 tableview,只有它后面的主视图显示其图像或颜色。在此画布上显示您的图像将意味着一个清晰的图像背景。

【讨论】:

以上是关于如何删除 UITableView 单元格之间的分隔的主要内容,如果未能解决你的问题,请参考以下文章

在 iPad 上:UITableView 在标题和单元格之间的分隔符

如何在 UITableView 中的单元格之间添加分隔符单元格/uiview?

如何删除 UITableView 中的单元格分隔符?

移除 UITableView 的边框,而不是分隔符

UITableView:隐藏单元格之间的边框/分隔符

如何在 UITableView 部分之间添加空间?