如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。
Posted
技术标签:
【中文标题】如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。【英文标题】:How to manages multiple lable in single row but no. of cell in table view depends on array in iPhone SDK. 【发布时间】:2011-05-25 07:11:36 【问题描述】:我想这样显示输出:
为此使用了两个部分。第一个用于标题,第二个用于显示数据,但在日期列中,日期是动态的,因为它取决于解析数据,这意味着没有行取决于该数组。
所以任何人都可以建议我,我如何将多个标签放在单行中,因为以下是我的代码:在 CellForRowAtIndexPath ()
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *MyIdentifier = [NSString stringWithFormat:@"MyIdentifier %i", indexPath.row];
MyTableCell *cell = (MyTableCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
cell = [[[MyTableCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
for (UIView * view in cell.contentView.subviews)
[view removeFromSuperview];
if (indexPath.section==0)
[cell addColumn:130];
label =[[[UILabel alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 45)] autorelease];
//label.tag = LABEL_TAG;
label.font = [UIFont boldSystemFontOfSize:12];
label.text = @"Date";//[NSString stringWithFormat:@"%d", indexPath.row];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor blackColor];
label.backgroundColor=[UIColor brownColor];
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:label];
//[cell addColumn:200];
label1 =[[UILabel alloc] initWithFrame:CGRectMake(66, 0, 64.0, 45)] ;
//label1.tag = VALUE_TAG;
label1.font = [UIFont boldSystemFontOfSize:12];
// add some silly value
//label.text = [NSString stringWithFormat:@"%d", indexPath.row * 4];
label1.text = @"Gold";
label1.textAlignment = UITextAlignmentCenter;
label1.backgroundColor=[UIColor brownColor];
[cell.contentView addSubview:label1];
label2 =[[UILabel alloc] initWithFrame:CGRectMake(132.0, 0, 64, 45)] ;
//[cell addColumn:260];
label2.font = [UIFont boldSystemFontOfSize:12];
label2.text = @"Silver";
label2.textAlignment = UITextAlignmentCenter;
label2.backgroundColor=[UIColor brownColor];
[cell.contentView addSubview:label2];
label3 =[[UILabel alloc] initWithFrame:CGRectMake(198.0, 0, 62, 45)] ;
// [cell addColumn:350];
label3.font = [UIFont boldSystemFontOfSize:12];
label3.text =@"Bronze";
label3.textAlignment = UITextAlignmentCenter;
label3.backgroundColor=[UIColor brownColor];
[cell.contentView addSubview:label3];
label4 =[[UILabel alloc] initWithFrame:CGRectMake(262.0, 0, 61, 45)] ;
// [cell addColumn:350];
label4.font = [UIFont boldSystemFontOfSize:12];
label4.text =@"Avg Conf";
label4.textAlignment = UITextAlignmentCenter;
label4.backgroundColor=[UIColor brownColor];
[cell.contentView addSubview:label4];
else
label5 = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 150)];
label5.font = [UIFont boldSystemFontOfSize:12];
label5.numberOfLines=4;
label5.text = [arr objectAtIndex:indexPath.row];
label5.textAlignment = UITextAlignmentLeft;
label5.textColor = [UIColor blackColor];
label5.backgroundColor=[UIColor grayColor];
[cell.contentView addSubview:label5];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
输出将根据第二张图片显示]1
【问题讨论】:
只有日期是动态的,或者其他标签也是动态的...MyTableCell
是如何定义的?
@spypriyanka 你有这个问题的解决方案吗?
【参考方案1】:
最好的方法是创建 CustomTableViewCell。 在 nib 文件中可以轻松绘制所需的输出单元格的位置。(超过 1 个标签,添加图像等)。
From here you can take the sample.
为您的示例创建更多自定义单元格,1 个用于标题,1 个用于显示所有数据。你的数据是 NSArray 的 NSArray。
【讨论】:
以上是关于如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。的主要内容,如果未能解决你的问题,请参考以下文章
使用自动布局表格视图时如何增加表格视图单元格中的标签高度(取决于文本)?