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

9
我希望您能够取消UITableView中的单元格之间内置分隔线。
我尝试使用如下代码:
[self.myTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

但这只是移除了分隔线,我需要的是让视图看起来就像不是表格视图一样。(比如表格视图就像是一个由许多未分开单元格构成的大视图)
这有可能吗?
编辑:你看到单元格之间的分离吗?我想让它消失,表格视图看起来就像是一个大单元格。
编辑2:当我使用一个图片视图作为单元格背景时,问题就出现了,但如果只使用一个简单的背景颜色,则没有问题。我尝试使用不同的图片,可以看到问题明显减少了。然而,对于那些仍无法作为背景的图片,我仍需要解决红色图片的问题。(不确定为什么一个图片会引起问题而另一个不会,可能跟图片设置有关)

如果它不应该像UITableView一样,那么为什么要使用它? - Antwan van Houdt
2
@AntwanVanHoudt - 表视图用于布置数据。最终结果看起来如何并不重要。 - Moshe
如果您使用UITableViewStylePlain并且没有设置区域标题/页脚,那么您将不会看到任何分隔线。 - Costique
1
看起来红色图像有阴影,每个单元格的顶部显示图像的顶部,从而创建线条效果。如果您想在该图像中使用渐变而不出现分离外观,请将表视图放在图像上方,并将表视图单元格颜色设置为UIColor clearColor。这应该可以防止它在每个单元格中重复。 - Alex Gosselin
7个回答

19

您可以像这样做:

self.tableView.separatorColor = [UIColor whiteColor];

或者

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

我想在您的情况下应该是这样的:

self.myTableView.separatorColor = [UIColor whiteColor];

将来您可能想要搜索 Stack Overflow,因为有许多类似的问题


你没看到我的问题吗?因为我已经尝试了你建议的方法,但它没有完成全部工作。 - Idan
很令人困惑你的需求是什么,因为你说:“我需要视图看起来根本不像是一个表格视图。(就像表格视图只是一个不包含多个分离单元的大视图)”,这让我(以及其他发帖者)不禁想知道你为什么还要使用TableView。如果你想保持表格视图的结构但没有滚动效果,只需执行 self.tableView.scrollEnabled = NO; 如果你得不到令人满意的回答,可能你可以澄清一下你的问题。 - aqua

7

你看到的分割线是由红色示例中的背景渐变引起的,而不是来自tableView。在第二张图片中没有渐变,所以你看不到分割线。

从背景图像中移除渐变即可解决问题。


6
尝试做这个:
self.tableView.backgroundColor=[UIColor clearColor];
self.tableview.separatorColor=[UIColor clearColor];
self.view.backgroundColor=[UIColor yourcolor];

我不记得是使用带图像的颜色、带图像的背景还是带视图的背景了,但逻辑上应该是这样的。

希望这对你有用。


2

进入故事板 -> 选择表格 -> 属性检查器 -> 分隔符无 没有分隔符会出现 在这里输入图片描述


2
如果您只想去掉UITableView单元格之间的分隔符,有两件事情需要做:
1. [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
2. 确保您的imageView(在您的tableview cell中)与tableview cell具有相同的高度。这意味着您的image view完全覆盖了table view cell。进入检查器视图并验证高度,如果您看到高度为43,请将其设置为44(44是视网膜显示器的默认tableview单元格高度)。
图片如下:enter image description hereenter image description hereenter image description here

1

你似乎已经回答了自己的问题。如果你想要一个纯色背景,可以制作一个只有纯色的图片。我猜这不是最佳实践,但它能完成任务。


嗨,Moshe,我确实使用自定义单元格,但我想问题不在于单元格,而是在于TableView如何呈现它们。 - Idan
我会尝试您关于章节的建议,并告诉您结果。谢谢。 - Idan
抱歉,伙计,你的建议没起作用。也许你没有理解我的意思,现在看看我的问题 - 我已经编辑过了。 - Idan

0

我在自己的应用程序中已经做过这个很多次了。我理解您希望使您的表格视图看起来不像是一个表格视图,而像是在一张空白纸上。

只是提醒一下,您可以看到某些图像之间有分隔线,而其他图像则没有,这是由于其图像纹理造成的。当您将图像的副本并排放置时,它们没有连续的图案,因此形成明显的视觉分隔。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接