Stacked/overlapping UITableViewCells
Stacked/overlapping UITableViewCells
请考虑附图。
我想要实现的是交替的 UITableVieCells,其内容大于单元格本身。
结果,我可以更有效地使用屏幕空间。
我想我可以根据奇数或偶数单元格以不同方式放置图像。
我特别感兴趣的是将 .contentview.height 设置为大于单元格本身的高度。
很可能,我坚持解决方案的方向,而不同的方法会更可行。我很想听听。
您可以通过 cell.contentView
访问内容视图并直接设置 frame
。
但我个人是不会去碰它的,因为它可能是由cell管理的。
我会做的是:
使单元格及其内容视图背景透明。
cell.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor clearColor];
将单元格和内容视图 clipsToBounds
设置为 NO
。
cell.clipsToBounds = NO;
cell.contentView.clipsToBounds = NO;
或者将 UIImageView
放在内容视图的左侧或右侧。
if (indexPath.row % 2) {
imageView.frame = /* set to the left */
} else {
imageView.frame = /* set to the right */
}
[cell.contentView addSubview:imageView];
当然,如果您希望能够通过点击图像视图来执行某些操作,这会中断。除非你添加一些命中测试代码。或者,您可以使用 UICollectionView
并创建自定义布局,我认为这是更好的方法。
请考虑附图。 我想要实现的是交替的 UITableVieCells,其内容大于单元格本身。 结果,我可以更有效地使用屏幕空间。 我想我可以根据奇数或偶数单元格以不同方式放置图像。 我特别感兴趣的是将 .contentview.height 设置为大于单元格本身的高度。 很可能,我坚持解决方案的方向,而不同的方法会更可行。我很想听听。
您可以通过 cell.contentView
访问内容视图并直接设置 frame
。
但我个人是不会去碰它的,因为它可能是由cell管理的。
我会做的是:
使单元格及其内容视图背景透明。
cell.backgroundColor = [UIColor clearColor]; cell.contentView.backgroundColor = [UIColor clearColor];
将单元格和内容视图
clipsToBounds
设置为NO
。cell.clipsToBounds = NO; cell.contentView.clipsToBounds = NO;
或者将
UIImageView
放在内容视图的左侧或右侧。if (indexPath.row % 2) { imageView.frame = /* set to the left */ } else { imageView.frame = /* set to the right */ } [cell.contentView addSubview:imageView];
当然,如果您希望能够通过点击图像视图来执行某些操作,这会中断。除非你添加一些命中测试代码。或者,您可以使用 UICollectionView
并创建自定义布局,我认为这是更好的方法。