1

我有一个带有深色透明背景的 TableView,我想要一个填充,我尝试使用contentInsets, contentSizecontentOffset

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);

那是行不通的。我得到了填充,但单元格既没有调整大小也没有重新定位。

我知道,我可以将 TableView 嵌套在另一个视图中,但应该有另一种解决方案。

编辑:

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

  1. 如果可能,调整单个单元格的大小(可能与 TableView 的布局过程发生冲突)
  2. 如上所述对 TableView 应用内容偏移量
4

2 回答 2

3

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

于 2012-09-11T15:46:52.117 回答
1

如果你想为你的 tableview 做一个 puffing,只需改变它的框架。

如果您想为您的单元格填充,请尝试以下代码:

- (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;
}
于 2012-09-07T12:13:49.057 回答