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