Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何重叠UITableViewCells?_Ios_Objective C_Uitableview_Overlap - Fatal编程技术网

Ios 如何重叠UITableViewCells?

Ios 如何重叠UITableViewCells?,ios,objective-c,uitableview,overlap,Ios,Objective C,Uitableview,Overlap,如果查看屏幕截图,您会注意到每个UITableViewCell从顶部到上部tableview单元格重叠了20% 有什么方法可以重叠单元格吗?我从未尝试过,但这种逻辑会起作用。请记住,在重叠区域中不会有任何接触 1) 将子视图添加到单元格。contentView,确保子视图高度大于表视图的行高 float overlapHeight = 10.0; subView.frame = CGRectMake(0.0, -10.0, your_subview_wi

如果查看屏幕截图,您会注意到每个UITableViewCell从顶部到上部tableview单元格重叠了20%


有什么方法可以重叠单元格吗?

我从未尝试过,但这种逻辑会起作用。请记住,在重叠区域中不会有任何接触

1) 将子视图添加到
单元格。contentView
,确保子视图高度大于表视图的
行高

float overlapHeight  = 10.0;

subView.frame = CGRectMake(0.0, -10.0, 
                  your_subview_width, rowHeight + overlapHeight);
2) 添加此代码,使您的单元格不会将内容剪辑到其框架之外

cell.clipsToBounds = NO;
cell.contentView.clipsToBounds = NO;
3) 现在,您的单元格将重叠,但在单元格的边界周围将有一个剪辑标记。要避免这种情况,请实现willDisplayCell委托函数

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = [UIColor clearColor];
}

重叠效果可以通过将单元格由两部分组成来实现:顶部的窄部分和底部的宽部分。底部很简单:它是一个灰色的矩形,里面有一个文本/图像组件。诀窍在于顶部的部分


顶部的高度等于整个彩色选项卡的高度。您的程序可以将两个图像中的一个放在那里-一个标签放在代表前一个单元格底部的窄灰色条带的顶部,或者一个标签放在棕色背景的顶部。在
表视图中:cellForRowAtIndexPath:
检查
。如果为零,则拾取背景为棕色的图像;否则,请选择顶部背景中带有灰色条纹的图像。

无需重叠单元格。顶部单元格应如下所示:

所有剩余的单元格应如下所示:


你的
tableFooterView
应该只是一个灰色条(单元格的“底部”)

是的,谁投了反对票,他应该解释他为什么这么做,他只是在玩弄它。似乎这种方法在ios7中不起作用?所有内容仍在剪辑中。明白了,别忘了添加cell.contentView.superview.clipstobunds=NO;(对于iOS7)在我的例子中,它是工作的,但是表中的视图以我想要的不同方式重叠。是否可以知道何时将单元格添加到视图中,以便我可以重新组织它们?cell.layer.zPosition=indexPath.row;为了使当前单元格位于前一单元格的后面,我尝试了这种方法,但问题是您正在从底部剪切图像。但我有一些其他的动画,我需要完整的细胞图像。比如说,如果我要触摸任何一个单元格,那么我必须扩大两个单元格之间的间距,这就是为什么我不能裁剪图像:)如果你能参与建议实施的想法,而不是仅仅指出,我真的很感激。关于你的信息,我已经尝试了这种东西,但它不会工作,因为我有一些其他动画,这将扩大细胞之间的差距。感谢you@Tariq-iPhone程序员-你应该在问题中提及你的所有要求,因为如果有人回答,他会回答你在问题中提出的问题。。。。他不知道你还有什么事要做。