2012-11-19 56 views
-2

可能重复:
How to adjust the hieght of the cell table when loading from the custom cells?增加自定义类的单元格加载高度?

我有一个应用程序中,我加载从不同的自定义类object.It细胞正在fine.But我的问题是我增加了在这个子类上的文本视图。我需要根据文本的内容来调整单元格的高度在表视图view.`

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (indexPath.section == 0) 
    { 
     return 125; 
    } 
    else 
    { 
     return 245; 
    } 
} 

我现在所做的这样。但我希望根据自定义类单元格中的文本视图内容大小更改单元格高度。有谁能够帮助我?

+0

可以调用的cellForRowAtIndexPath:这里根据单元格的内容计算高度。 – Dave

+0

这很好,如果你回答我的问题 –

+0

@Dave没有必要调用cellForRowAtIndexPath,只需抓住内容并计算高度。你的方式是创建一个没有必要的额外单元格。 – rckoenes

回答

0

你可以做到这一点在简单的方法只是看this

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell; 
    UILabel *label = nil; 

    cell = [tv dequeueReusableCellWithIdentifier:@"Cell"]; 
    if (cell == nil) 
    { 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"Cell"] autorelease]; 

    label = [[UILabel alloc] initWithFrame:CGRectZero]; 
    [label setLineBreakMode:UILineBreakModeWordWrap]; 
    [label setMinimumFontSize:FONT_SIZE]; 
    [label setNumberOfLines:0]; 
    [label setFont:[UIFont systemFontOfSize:FONT_SIZE]]; 
    [label setTag:1]; 

    [[cell contentView] addSubview:label]; 
    } 
} 

则u可以计算单元格高度和这里一个完整的例子link

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    NSString *text = [items objectAtIndex:[indexPath row]]; 

    CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f); 

    CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap]; 

    CGFloat height = MAX(size.height, 44.0f); 

    return height + (CELL_CONTENT_MARGIN * 2); 
} 
+0

wat你是指.......? –

+0

是否看到我添加的链接? – Omarj

+0

这里的pbm是内容文本视图在这里不可用,它在自定义类中。 –

相关问题