1

@大家好

我有一个非常有趣的问题。实际上我有子视图,其高度可以大于单元格高度本身(它是我的设计所必需的)。例如,单元格“A”高度为 40,而子视图高度 = 70。

我可以显示更大的子视图,但是当单元格 A 离开屏幕(我滚动到顶部)时,它的子视图也会消失(明显)结果。但这会产生不希望的效果,因为更大的子视图之前延伸到单元格,说容器单元格下方的“B”突然消失。

我试图在 willDisplayCell 委托方法中将单元格背景设置为透明,但没有运气。

如果有人想看,下面是我的相关方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];

if (cell == nil)
{
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:MyIdentifier] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}

NSArray *newArray = [[dataDictionary allKeys] sortedArrayUsingSelector: @selector(compare:)];

[cell.contentView addSubview: [[[dataDictionary objectForKey:[newArray objectAtIndex:indexPath.section]] objectForKey:@"DayView"] objectAtIndex:indexPath.row]];

return cell;
}

如果我不是很清楚,请原谅我,但这是最好的,我可以解释我的情况。

我想显示像http://postimg.org/image/e5ok5hybl/ image 这样的视图。

4

1 回答 1

2

如果你必须这样做,你可以使用一个简单的技巧:

  1. 将表格的 y 原点移动到一个负值,该值等于您的视图在单元格下方的延伸量,例如原点 -30px。
  2. 将表格高度提高相同的量,即提高 30 像素。
  3. 将表格的顶部内容插入增加相同的量,即增加 30px。

您实际上所做的是在屏幕外扩展表格视图,同时保持单元格的原始位置。由于表格视图延伸到屏幕外,因此在单元格下方延伸的部分滚动到屏幕外之前,单元格不会出队。

这是一个演示该技巧的示例项目。

于 2013-08-20T02:02:45.930 回答