动态增加行-iphone的高度

时间:2012-03-02 12:38:01

标签: iphone uitableview ios5 height tablerow

我有桌面视图。 我想动态地将行的高度增加到某个大小。 我怎样才能做到这一点。 我知道这是一个愚蠢的问题。但仍然无法找到解决方案。请帮助我。 我已经使用过这段代码了。但它没有用:

  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:CellIdentifier] autorelease];

 UILabel *lblOutTime = [[UILabel alloc]init];
lblOutTime = [[UILabel alloc] initWithFrame:CGRectMake(2, 20, 200, 40)];

lblOutTime.text =@"Outtime : ";

lblOutTime.backgroundColor = [UIColor clearColor];
lblOutTime.font = [UIFont boldSystemFontOfSize:5.0f];
lblOutTime.font = [UIFont fontWithName:@"HelveticaNeue Heavy" size:5.0f];

 [cell.contentView insertSubview:lblOutTime atIndex:1];
  return cell;

}

5 个答案:

答案 0 :(得分:1)

您可以在此处更改单元格的大小:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

if (indexPath.myRow == myCellIndex)
return NEW_HEIGHT;
else return NORMAL_HEIGHT;

}

您可以随时重新加载表格:

[myTable reloadData];

答案 1 :(得分:1)

-

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        if (indexPath.row == myIndexPath)
        {
            return someHeight;
        }
        return  normalHeight;
    } 
In this case the height is not dynamic. here

仅是细胞高度的2个固定位置。 如条件所示。

答案 2 :(得分:1)

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row <[ListOfCartItems count])
    {
        CGFloat     result = 44.0f;
        NSString*   text = nil;
        CGFloat     width =220 ;

        clsCart *tempCartPro;
        tempCartPro=[ListOfCartItems objectAtIndex:indexPath.row];

        text=tempCartPro.clsProductItem.productName;

        if (text)
        {

            CGSize      textSize = { width, 20000.0f };     // width and height of text area
            CGSize      size = [text sizeWithFont:[UIFont boldSystemFontOfSize:15] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];

            size.height += 90.0f;           // top and bottom margin
            result = MAX(size.height, result)  ;    // at least one row
        }

        return result;

    }
    else
    {
        return 230.0;
    }
}

答案 3 :(得分:0)

如果您想增加所有行使用的高度

[tableView setRowHeight:44];

[tableView reloadData];

如果您想增加特定行的高度,请使用UITableView Delegete heightForRowAtIndexPath:

并使用此

[tableView reloadData];

答案 4 :(得分:0)

将此tableview委托方法添加到您的class.m文件中。 确保您的班级符合UITtableViewDelegate协议

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        if (indexPath.row == myIndexPath)
        {
            return someHeight;
        }
        return  normalHeight;
    }