【问题标题】:iOS - Show Separator in empty cells of UITableView [closed]iOS - 在 UITableView 的空单元格中显示分隔符 [关闭]
【发布时间】:2016-03-14 06:22:52
【问题描述】:

我在 UITableView 中显示我的数据。例如,如果我有 2-3 行,则不显示其余的单元格分隔符。

它显示 2 个空行,然后其余为空白(灰色区域)。我需要在所有空行中 显示 单元格分隔符。我怎样才能做到这一点?

注意:我正在使用情节提要和原型单元格,并且在通过编码创建的表格中,行显示在空单元格上。

【问题讨论】:

  • 单元格分隔线已经有了,你说的是哪个分隔线?
  • 点击模拟器,点击cmd+1,检查,分隔符已经可见。
  • 是的,分隔符在有数据的单元格上可见。但只有 2 个空单元格显示分隔符。其余为空白白色
  • @saif 我没有使用模拟器
  • 你从tableView numberOfRowsInSection方法返回了多少行?

标签: ios objective-c swift uitableview


【解决方案1】:

很简单...在viewDiodLoad中添加以下代码

self.tableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
self.tableView.tableFooterView.tintColor = [UIColor clearColor];

【讨论】:

  • 它删除了最后两个空行,即页脚,但仍然没有分隔符可见,只是空白
【解决方案2】:

这里还有其他事情发生 - 所有分隔符都应该始终可见,除非您明确隐藏它们。

正如@saif 在 cmets 中所说。如果您使用模拟器,则缩放效果不是很好,因此请确保您在 100% 模式下使用模拟器。快捷键是“CMD+1”。

如果这不是解决方案,那么也许你的 UITableView 的框架不正确?按“Debug View Hierarchy”按钮查看 UITableView 的框架。

编辑:

当您想隐藏空单元格上的分隔符时,请使用以下内容:

self.tableView.tableFooterView = [UIView new];

我认为你没有做这样的事情?

【讨论】:

  • 我通过将背景颜色设置为灰色来检查框架设置得很好,我正在设备上进行测试
  • 我必须在空单元格上显示分隔符而不是隐藏它们。我已经可以隐藏它们了,问题是在空单元格上显示分隔符
  • 你的表格视图的垂直尺寸是否完全覆盖了整个父视图?为什么空单元格下方有一个灰色空间?上图中的 3 个填充行是表格本身的一部分吗?
【解决方案3】:

您已经使用带有分隔符视图的自定义单元格。

您可以使用 UITableView 属性 separatorStyle 来做到这一点。确保该属性设置为 UITableViewCellSeparatorStyleNone 并且您已设置。

    Obj-C

    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone

    In Swift

    tableView.separatorStyle = .None

【讨论】:

    【解决方案4】:

    感谢大家的帮助。似乎我错误地添加了另一个表作为我在 StoryBoard 中的 Tableview 的子视图,或者我最初添加的原型单元格没有被删除(可能是 xcode 的一些问题)。这导致了在空行中不显示分隔符的异常行为。

    【讨论】:

    • 在不喜欢我的回答和问题之前,只知道这种情况是真实的,并且由于原型单元而发生,并且可能发生在任何人身上,这个答案会对他们有所帮助
    • 有时在 xib 中,当您拖动 UITableView 并调整其大小时。它创建了两个表。这导致了问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多