当前位置: 首页 > 知识库问答 >
问题:

在UITableView中删除单元格前的空白

曾德水
2023-03-14

我目前正在尝试将UITableView放置在不同的位置,而不是视图控制器的顶部。说到这里,它试图在顶部添加标题来说明导航栏,但这不是必需的,因为我的控制器顶部没有标题。

如果我把UITableView的左上角放在我想要的单元格位置,它不会把单元格放在那里:

现在,如果我只是向上移动表格视图,使单元格位于正确的位置,我会遇到另一个问题-滚动时单元格可以向上移动(这是用我的手指在导航控制器上方):

当我放手的时候,是的-单元格将在搜索栏的正下方,但这显然是一个问题,你如何将它们带到搜索栏上方。

我该怎么做呢?有没有更简单的方法?

共有3个答案

韩良策
2023-03-14

在故事板中选择桌面视图,并确保样式设置为“平原”,而不是“分组”。您可以在属性检查器选项卡中找到此设置。

葛承嗣
2023-03-14

我也有同样的问题,我很确定我曾经有一个UIView。简单地复制整个表视图,删除它,并再次粘贴它为我修复它。

曾涵育
2023-03-14

向下滚动时,UITableView的单元格是否显示在空白处?

如果是这样,那么问题可能是由于视图中的导航控制器而添加到UITableView的插图。插入被添加到表视图中,以便在未发生滚动时将内容放置在导航栏下方。当表格滚动时,内容滚动并显示在透明的导航栏下。当然,只有当表视图直接在导航栏下启动时才需要这种行为,而这里不是这样。

另一件需要注意的事情是,iOS仅在视图层次结构中的第一个视图是UIScrollView或其后代(例如UITableViewUICollectionView)时调整其内容插入。如果视图层次结构包含多个滚动视图,自动调整滚动视图插入将仅对第一个滚动视图进行调整。

以下是如何改变这种行为:

a)接口生成器

>

  • 选择视图控制器
  • 打开属性检查器
  • IB的属性检查器(当选择视图控制器时)中有一个名为“调整滚动视图插入”的属性,默认情况下该属性是打开的。取消选中此选项:

    我不确定哪个Xcode版本引入了这个选项(在发行说明中没有发现它),但它至少在版本5.1.1中可用。

    编辑:为了避免混淆,这是评论中提到的第三个选项

    b) 编程的

    将此添加到即viewdiLoad(归功于Slavco Petkovski的回答和Cris R的评论)

    // Objective-C
    self.automaticallyAdjustsScrollViewInsets = NO;
    
    // Swift
    self.automaticallyAdjustsScrollViewInsets = false
    

    这可能与老年学生有关

    您可以通过添加

    tableView.contentInset = UIEdgeInsetsZero
    
    //Swift 3 Change
    tableView.contentInset = UIEdgeInsets.zero
    

    或者如果你正在使用IB,如果导航栏不透明(从截图中看不出来)

    • 选择视图控制器
    • 打开属性检查器
    • 在视图控制器选项扩展边缘部分取消选择顶部栏下

  •  类似资料:
    • 我一直试图创建一个宏来格式化从特定外部源复制的表,问题是,一些单元格似乎从右向左填充,剩余的空间向左填充空格:

    • 问题内容: 我有一个以许多空格开头的文本字符串,介于2和4之间。 删除前导空格的最简单方法是什么?(即删除某个字符之前的所有内容?) 问题答案: 该方法将删除以字符串开头的前导空格,换行符和制表符: 编辑 正如balpha在注释中指出的那样,为了 仅从 字符串开头删除空格,应使用:

    • 问题内容: 我有我的自定义单元格渲染器,想删除单元格的边框。 我该怎么做?我试过setBorder,但是不起作用。 这是我的渲染器代码: 问题答案: 单元格之间绘制的线不是单元格本身的一部分。它们是由桌子绘制的。您可以使用以下方法在整个表格中将其关闭: 要仅禁用水平或垂直线: 或者,您可以使用以下方法更改线条的颜色:

    • 问题描述:当iOS 7位于分组的中时,表视图顶部和第一个单元格之间存在间隙。 奇怪的是,当我第一次加载内容时,表格看起来还可以(第一张图片),但是当我向下滚动时,顶部和第一个单元格之间出现了一个空格(第二张图片): 使用纯样式时,不会发生这种行为,但不幸的是,我需要使用分组表视图样式。 有什么想法吗?

    • 我有一个,它是通过解析一些excel电子表格创建的。具有空单元格的列。例如,下面是该列的频率输出,32320条记录缺少租户的值。 我试图删除缺少租户的行,但是选项无法识别缺少的值。 该列具有数据类型"Object"。这案子是怎么回事?如何删除租户失踪的记录?

    • 问题内容: 如何在Swift中的tableView单元中以编程方式嵌入?我就是那样做 问题答案: 这是您可以在单元格上嵌入的方法。 这是切换调用贝克方法 @LeoDabus 。 注意:如果您可能有多个,则应创建一个CustomCell子类并配置您的内部 方法而不是表视图方法。当将可重用的队列释放出队列时,将其投射到您的CustomCell中这是@LeoDabus的示例