问题描述
|
我能知道如何将多行数据插入到UITableView的单个单元格中吗?
就像,我希望单个单元格中的输出像:
KPK
开发者
信息系统
印度
解决方法
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,200,80)];
myLabel.text = @\"KPK\";
myLabel.textAlignment = UITextAlignmentCenter;
myLabel.textColor = [UIColor yellowColor];
[cell addSubview:myLabel];
UILabel *myLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(0,201,80)];
myLabel1.text = @\"Developer\";
myLabel1.textAlignment = UITextAlignmentCenter;
myLabel1.textColor = [UIColor yellowColor];
[cell addSubview:myLabel1];
,在字符串中使用\\ n。
将numberOfLines设置为4以允许任意数量的行。
label.numberOfLines = 4;
使用sizeWithFont:更新标签框架以匹配文本的大小。如果不这样做,则文本将垂直居中或被截断。
UILabel *label; // set frame to largest size you want
...
CGSize labelSize = [label.text sizeWithFont:label.font
constrainedToSize:label.frame.size
lineBreakMode:label.lineBreakMode];
label.frame = CGRectMake(
label.origin.x,label.orgin.y,label.size.width,labelSize.height);
label.text=[NSString stringWithFormat:@\"KPK\\nDeveloper\\nInfosystems\\nIndia\"];
现在,您只需要在单元格中添加标签。
[cell addSubView:label];
,您可以在文字中放置\\ n。不确定是否可行,您可以为多个行记录创建自定义单元格。
,在工作台视图中设置工作台高度并使用标签
,创建一个自定义单元格,在其中添加4个标签,以显示所有必需的信息。请查看以下教程,以了解如何制作自定义单元格。
http://adeem.me/blog/2009/05/30/iphone-sdk-tutorial-part-6-creating-custom-uitableviewcell-using-interface-builder-uitableview/
,使用uilabel并将其添加为子视图(如果您的tableview单元格。您可以指定uilabel的行数)
label.numberOfLines = 4;
,我认为最好的方法是创建一个自定义的“ 5”实现,或以编程方式将“ 6”添加到单元格的contentView中。
即:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5,5,30)];
label.text = @\"MyText\";
label.textColor = [UIColor blackColor];
[cell.contentView addSubview:label];
[label release]; // Never forget this!
添加其他行时,应更新第一行定义以正确抵消新行。例如。第二个标签应具有以下内容:
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(5,35,30)];
完成后,应该在表的委托中实现tableView:heightForRowAtIndexPath:
方法,因为必须为新单元格定义正确的高度。在您的示例中,对于4个标签,您应该实现以下内容:
- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath)indexPath {
if (is_one_of_my_modified_cells) {
return 35*4 + 5;
}
return 44; // default height
}
试试看,让我知道。