Stacked/overlapping UITableViewCells

Stacked/overlapping UITableViewCells

请考虑附图。 我想要实现的是交替的 UITableVieCells,其内容大于单元格本身。 结果,我可以更有效地使用屏幕空间。 我想我可以根据奇数或偶数单元格以不同方式放置图像。 我特别感兴趣的是将 .contentview.height 设置为大于单元格本身的高度。 很可能,我坚持解决方案的方向,而不同的方法会更可行。我很想听听。

您可以通过 cell.contentView 访问内容视图并直接设置 frame

但我个人是不会去碰它的,因为它可能是由cell管理的。

我会做的是:

  1. 使单元格及其内容视图背景透明。

    cell.backgroundColor = [UIColor clearColor];
    cell.contentView.backgroundColor = [UIColor clearColor];
    
  2. 将单元格和内容视图 clipsToBounds 设置为 NO

    cell.clipsToBounds = NO;
    cell.contentView.clipsToBounds = NO;
    
  3. 或者将 UIImageView 放在内容视图的左侧或右侧。

    if (indexPath.row % 2) {
        imageView.frame = /* set to the left */
    } else {
        imageView.frame = /* set to the right */
    }
    [cell.contentView addSubview:imageView];
    

当然,如果您希望能够通过点击图像视图来执行某些操作,这会中断。除非你添加一些命中测试代码。或者,您可以使用 UICollectionView 并创建自定义布局,我认为这是更好的方法。