我需要在UITableView的顶部添加一些不影响内容区域大小的空格。向下移动内容或添加空白单元格不是我想要的。相反,我只想要一个偏移量。
怎么样?
我需要在UITableView的顶部添加一些不影响内容区域大小的空格。向下移动内容或添加空白单元格不是我想要的。相反,我只想要一个偏移量。
怎么样?
Answers:
我不确定是否要关注您,但我想我也有同样的困境。就我而言,我必须在屏幕顶部为ADBannerView留一些空间,所以我所做的就是在我添加的viewDidLoad方法中:
[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];
它需要的值是UIEdgeInsetsMake(top,left,bottom,right)。
或者与Swift相同:
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)
Swift 4.2:
self.tableView.contentInset = UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
听起来好像您想在周围包裹一个“视图” UITableView
。如果你有一个UITableViewController
在IB的UITableView
将被自动设置到view
的UITableViewController
。您将view
属性更改为法线,UIView
然后UITableView
在其中添加您的属性并为其设置偏移量。
---编辑---我刚刚阅读了我的文章,并认为它没有什么意义:)当您创建一个时,UITableViewController
您会得到此信息(使用伪代码):
UITableViewController.view = UITableView
这意味着实际表将占用整个空间,您甚至无法添加其他视图。所以你需要改变
UITableViewController.view = UIView
并添加您的表 UIView
我将此答案与此答案结合在一起:https : //stackoverflow.com/a/9450345/1993937
为了使tableView出现在内容插图的顶部,因此,当视图最初出现时,通过使tableView略微向下滚动,不会切断顶部的空间。(18是我最大的差距)
[self.tableView setContentInset:UIEdgeInsetsMake(18,0,0,0)];
[self.tableView setContentOffset:
CGPointMake(0, -self.songListTable.contentInset.top) animated:YES];