UITableview单元子视图大小然后单元格

时间:2013-08-19 21:23:13

标签: uitableview subviews

@All Hello

我有一个非常有趣的问题。 实际上我的子视图可以更高,然后是单元格高度本身(我的设计需要它)。例如,单元格“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/图片这样的观点。

1 个答案:

答案 0 :(得分:2)

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

  1. 将表格的y原点移动到负值,该值等于视图在单元格下方延伸的数量,例如origin -30px。
  2. 使桌子的高度相同,使其高出30px。
  3. 将表格的最高内容插入量增加相同的数量,即增加30px。
  4. 您已经有效地完成了将表格视图扩展到屏幕外,同时保持单元格的原始位置。由于表格视图在屏幕外延伸,因此在单元格下方延伸的部分滚动离开屏幕之前,单元格不会出列。

    这是一个展示诀窍的sample project