UITableView +在顶部添加内容偏移量

我需要添加一些空白到我的UITableView的顶部不影响内容区域的大小。 转移内容或添加一个空白单元格是不是我想要做的。 相反,我只是想要一个偏移量。

任何想法?

我不确定我是否跟着你,但我想我也有同样的困境。 在我的情况下,我必须给在屏幕上方的ADBannerView一些空间,所以我所做的是在我添加的viewDidLoad方法:

[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)]; 

它需要的值是UIEdgeInsetsMake(顶部,左侧,底部,右侧)。

或者与Swift相同:

 self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0) 

您可以添加一个“空”的标题视图到表…这将使表的初始外观有一个偏移量,但一旦你开始滚动偏移将消失。 不要确定这就是你想要的。

如果你需要一个永久的偏移量,并且还没有使用节标题,那么你可以通过为节标题创build自定义的视图来创build类似于上面的偏移量,特别是如果你只有一个节,这可以给你一个永久的偏移量。

我可以发布示例代码,如果它听起来像这些是你正在寻找。

听起来就像你想围绕你的UITableView 包装 “视图”。 如果你在IB中有一个UITableViewControllerUITableView将被自动设置为UITableViewControllerview 。 你把view属性改成一个普通的UIView然后在那里添加你的UITableView并给它一个偏移量。

—编辑—我刚刚阅读我的post,并认为它没有什么意义:)当你创build一个UITableViewController你得到这个(伪代码):

 UITableViewController.view = UITableView 

这意味着实际的表将占据整个空间,甚至不能添加其他视图。 所以你需要改变

 UITableViewController.view = UIView 

并将您的表添加到该UIView

我把Jigzat的答案与:

 [self.tableView scrollRectToVisible:CGRectMake(0, 0, 320, 1) animated:NO]; 

 - (void)viewDidLoad 

所以第一个单元不在顶部。