【问题标题】:How to remove top space from Top of TableView?如何从 TableView 顶部删除顶部空间?
【发布时间】:2017-10-25 18:12:28
【问题描述】:

在我的视图控制器中,我有 1 个具有不同数据的表视图。

顶部蓝色是 View,底部蓝色是 TabBar。

在主屏幕中有顶部视图,在趋势屏幕中我通过将其约束更改为 0 来隐藏它。

  1. 首页和 2. 趋势

当我滚动 tableview 以查看新帖子时,当我点击 Trending View 时,我会在 TableView 中加载新数据并使用代码滚动 tableview 到顶部。

dispatch_async(dispatch_get_main_queue(), ^{
        [self.tblVW setContentOffset:CGPointZero animated:NO];
        [self.tblVW reloadData];
    });

但它不会移动到 tableview 的顶部。

顶部有一个空格,当我触摸 tableview 时,它会滚动到顶部。

【问题讨论】:

标签: ios iphone uitableview uiscrollview


【解决方案1】:

在一个grouped tableview中,如果要去掉顶部区域的默认表头,试试设置:

tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0.1))

分组表视图:

之前:

之后:

【讨论】:

  • 哇,在 Xcode 11 和 iOS 13 中为我工作,非常感谢。
  • 你能告诉我我做了高度0然后它不起作用但是当我做和你做0.1高度一样的时候它起作用了为什么.?
【解决方案2】:

我猜你正在使用分组表视图。请制作

self.tblVW.tableHeaderView = [[UIView alloc]initWithFrame:CGRectMake(0,0,0,0.01f)];

甚至将 tableview 部分标题的高度设置为 0.01f。

【讨论】:

  • 我通过返回 CGFLOAT_MIN 返回最小高度;
  • 你在使用分组表视图吗? @Pankil。你能把它改成 0.01f 而不是 CGFLOAT_MIN 吗?我想它应该可以工作。
  • 是的,主表视图是分组表视图,而趋势表视图是普通的。
  • 设置表头视图为self.tblVW.tableHeaderView = [[UIView alloc]initWithFrame:CGRectMake(0,0,0,0.01f)];用于家庭桌面视图。它将删除顶部空间。 .
  • 对于分组表视图,如果您在 iphone 中观察到设置应用程序,它顶部有默认空间。因此,要修复它,我们需要使用 frame(0,0,0,0.01f) 设置 tableheaderview,甚至将部分标题高度设置为 0.01f,因为 0.0f 在这种情况下不起作用。请在最后检查并告诉我结果。谢谢。
【解决方案3】:
YourTableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);

设置上面的代码。

【讨论】:

    【解决方案4】:

    您需要自动禁用AdjustsScrollViewInsets。

    添加这一行 ViewDidLoad

    self.automaticallyAdjustsScrollViewInsets = false
    

    【讨论】:

    • 我已经从 Storyboard 中取消选中它,但我仍然面临这个问题
    • 当我将趋势数据滚动到底部,然后单击主页时,它将滚动到顶部。但是当我在主屏幕上并单击趋势表视图时不会自动滚动到顶部。
    • 也试试这个:tableView.contentInset = UIEdgeInsets.zero
    【解决方案5】:

    尝试将表格视图滚动到顶部

    dispatch_async(dispatch_get_main_queue(), ^{
            [self.tblVW.scrollToRowAtIndexPath(NSIndexPath(forRow: 0,inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: true)];
            [self.tblVW reloadData];
        });
    

    而不是设置内容偏移量。

    【讨论】: