如何获得TableView内的填充?

我有一个黑暗的透明背景,我想有一个填充我试图完成使用contentInsetscontentSizecontentOffset一个TableView:

 CGFloat padding = 10.0f; CGSize size = self.tableView.bounds.size; size.width -= (padding*2); size.height -= (padding*2); self.tableView.contentSize = size; self.tableView.contentInset = UIEdgeInsetsMake(padding, padding, padding, padding); self.tableView.contentOffset = CGPointMake(-padding, -padding); 

这是行不通的。 我得到了填充,但细胞也没有resize,也没有重新定位。

我知道,我可以将TableView嵌套在另一个View中,但应该有另一个解决scheme。

编辑:

我对“contentSize”的含义有一个误解。 这不是视口的大小,而是您指定内容的实际大小。 所以我可能会..

  1. 如果可能,调整单个单元格的大小(可能与TableView的布局过程相冲突)
  2. 像上面那样将一个内容偏移量应用于TableView

对于宽度,你将不得不混乱每个单元格框架。 对于顶部和底部的插图,使用setContentInset:

如果你想为你的tableview一个paffing只是改变其框架。

如果你想为你的单元填充,请尝试下面的代码:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Custom"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { CGRect cellFrame = CGRectMake(20,0,200,200); //CHANGE FRAME FOR YOUR APP UITableViewCell *cell = [[[UITableViewCell alloc] initWithFrame:cellFrame reuseIdentifier:CellIdentifier] autorelease]; } //INSERT YOUR CODE TO RETRIVE TEXT TO INSERT INTO A CELL return cell; }