2013-08-19 107 views
1

@All你好UITableview cell subview larger height then cell

它是我非常有趣的問題。 其實我有子視圖可以在高度上更大,然後單元格高度本身(它是我的設計所需的)。例如,單元格「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/圖像的意見。

回答

2

如果你必須這樣做,你可以使用一個簡單的一招:

  1. 移動工作臺的y原點爲負值等於你的觀點擴展了電池下方的量,例如起源-30px。
  2. 使桌子高度增加相同的量,即使其高30px。
  3. 將表格的頂部內容插入增加相同的數量,即增加30px。

你已經有效地做了什麼,是在保持原單元格的原始位置的同時將表格視圖擴展到屏幕外。由於表格視圖在屏幕外延伸,單元格將不會出列,直到單元格下方的部分滾動出屏幕。

這是一個sample project演示的竅門。

+0

你好,你的解決方案似乎很好,但我不知道子視圖的高度。其實我想製作日曆應用程序,我將把dayview放在頂部單元格上。所以每一天都可以包含當天延伸的事件。我知道事件高度實時。 – Mann

+0

我想顯示像http://postimg.org/image/e5ok5hybl/ – Mann

+0

意見您可以添加儘可能多的填充,只要你想。因此拿出一個最大高度並使用它。 –