UITableView 上出现奇怪的线条?

问题描述 投票:0回答:4

UITableView
的背景设置为绿色,
UITableViewCell
的颜色为紫色,分隔符为黑色。我不明白这些白线是从哪里来的?当我向上滚动时,分隔符会出现断断续续的故障,并且白线保持原样(它们所在的位置)。因为我不知道是什么原因造成的,所以不知道要发布哪些代码来保存全部内容......这是来自错误的代码还是模拟器有问题?向上和向下缩放不会执行任何操作,并且更改分隔符和表页脚也没有实际意义。如果您能帮助我指明正确的方向,我将永远感激不已!

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier( NSStringFromClass(GameTableViewCell), forIndexPath: indexPath) as! GameTableViewCell
    cell.game = gameList[indexPath.row]
    cell.selectionStyle = .None
    print("Row = \(indexPath.row)")
    return cell

}
ios xcode separator uitableview
4个回答
4
投票

要解决此类问题,请始终使用 UI 调试器。 使用模拟器/设备运行项目,然后在 Xcode 的底部面板中,选择下面突出显示的按钮:

调试器将允许您直观地检查 UI 的所有层以及每个 UI 元素的来源(以及内存地址、大小等)

下面是一个示例,我通过拖动来旋转并检查视图的 Z 索引:

希望这有帮助。


0
投票

就我而言,我将另一个项目的滚动视图复制并粘贴到当前项目中,然后将 UITableView 从另一个控制器复制并粘贴到该滚动视图中(未正确显示分隔线)。无论代码如何,我都无法摆脱这些分隔线...因为这个复制/粘贴...

我的解决方案是简单地创建一个新的滚动视图,然后将我的 UITableView 复制/粘贴到创建的滚动视图中。

我不是专家,但是当将 UITableView 放入复制和粘贴的滚动视图中时,复制和粘贴对我不起作用......

从新的滚动视图开始是有效的。去掉那些分隔线...花了大约 2 分钟修复...


0
投票

这种奇怪的行为在 iOS 16 上仍然发生。TableView 底部有一条奇怪的线。即使我已将

separatorStyle = .none
viewForFooterInSection
设置为
nil

解决方案:经过几个小时的 UI 调试和研究,我找到了解决方法。然后这条线就消失了,看起来像是 UIKit 的 bug。

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    UIView()
}

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    0.1
}

-1
投票

尝试使用高分辨率模拟器并检查它是否仍然出现,有时是模拟器错误

选择模拟器并按 Command+1 现在检查

© www.soinside.com 2019 - 2024. All rights reserved.