如何使UITableView看起来像这样

时间:2014-02-11 18:36:40

标签: ios iphone objective-c xcode uitableview

是否可以在标准UITableView中像单元格之间建立距离?没有选择让分隔符更大。这也是左右两边的距离。

enter image description here

5 个答案:

答案 0 :(得分:6)

你可以通过将你的单元格背景设置为你想要的任何背景(在这种情况下让我们说灰色)来实现这一点,并在单元格中添加一个带有左,右和下边距的白色uiview,如下所示:

enter image description here

然后转到表格视图,将分隔符设置为无

enter image description here

最后一步,将表格视图的背景设置为与单元格相同的灰色背景。

enter image description here

然后你不必在你的代码中做任何事情,只需根据自定义nib文件初始化你的表格单元格(我假设你想要这样做)。

如果您希望在代码中构建单元格,则可以使用相同的逻辑。

答案 1 :(得分:1)

方法中的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

     ...

  cell.backgroundColor = [UIColor whiteColor];

  // This will create a line of 3 pixels that will be separating the cells
  UIView *separator = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,3)];
  separator.backgroundColor = [UIColor darkGrayColor];
  [cell.contentView addSubview: separator];

  // and if you want the border do left and right add:
  UIView *separatorRx = [[UIView alloc] initWithFrame:CGRectMake(318,0,2,cell.frame.size.height)];
  separatorRx.backgroundColor = [UIColor darkGrayColor];
  [cell.contentView addSubview: separatorRx];

  UIView *separatorSx = [[UIView alloc] initWithFrame:CGRectMake(0,0,2,cell.frame.size.height)];
  separatorSx.backgroundColor = [UIColor darkGrayColor];
  [cell.contentView addSubview: separatorSx];

  return cell;

}

enter image description here

答案 2 :(得分:0)

一种方法是将UITableViewCell的backgroundView设置为在该灰色背景上包含此白框的UIImageView

答案 3 :(得分:0)

您必须创建UITableViewCell的子类。在你自己的子类中,你可以做出你梦寐以求的一切!因此,您需要在自定义UIView上添加whiteColor UITableViewCell背景和边距作为子视图。

答案 4 :(得分:0)

UITableView中没有填充选项。您可以在UIView中添加UITableViewCell,其中包含所有单元格子视图,并更改其框架以在单元格中创建填充。

我建议您使用UICollectionView代替,您可以使用布局轻松设置单元格之间的空间。如果单元格小于实际集合视图,则它会自动居中。