我想以垂直顺序显示我的记录UITableViewCell
。
这是我的代码:
cell.textLabel.text=[NSString stringWithFormat:@"%d %@ %@",objProp.contid,objProp.contname,objProp.contno];
我想这样显示我的记录。
1
sanjeet
9876556789
我想以垂直顺序显示我的记录UITableViewCell
。
这是我的代码:
cell.textLabel.text=[NSString stringWithFormat:@"%d %@ %@",objProp.contid,objProp.contname,objProp.contno];
我想这样显示我的记录。
1
sanjeet
9876556789
我个人解决这个问题的方法是:
我会创建一个自定义 UITableViewCell 子类。我将在 UITableViewCell 中有三个标签,垂直排列。
self.labelA = [[UILabel alloc] init];
self.labelB = [[UILabel alloc] init];
self.labelC = [[UILabel alloc] init];
NSDictionary *viewsDictionary = @{@"labelA" : self.labelA,
@"labelB" : self.labelB,
@"labelC" : self.labelC};
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[labelA]-|"
options:kNilOptions
metrics:nil
views:viewsDictionary]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[labelA]-[labelB]-[labelC]-|"
options:NSLayoutFormatAlignAllLeading | NSLayoutFormatAlignAllTrailing
metrics:nil
views:viewsDictionary]];
然后我会为每个标签设置适当的标签。
我相信您要做的是以可以引入新行的方式设置默认 UITableViewCell 的 textLabel 。例如:
UITableViewCell *tableViewCell;
tableViewCell.textLabel.numberOfLines = 3;
tableViewCell.textLabel.lineBreakMode = kNilOptions;
tableViewCell.textLabel.text = [[NSString alloc] initWithFormat:@"%@\n%@\n%@", variableA, variableB, variableC];
就像我说的,更好的方法是创建一个自定义 UITableViewCell 子类。
您需要创建自定义tableviewcell
以垂直顺序显示。如果您正在使用情节提要,请在表格视图单元格内容视图中拖动 3 个标签,并为每个标签提供不同的标签,并[cell viewWithTag:]
在您的内部使用方法cellForRowAtIndexPath:
例子:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
UILabel *id = (UILabel *)[cell viewWithTag:1];
id.text = [NSString stringWithFormat=@"%d",objProp.contid];
UILabel *name = (UILabel *)[cell viewWithTag:2];
name.text = [NSString stringWithFormat=@"%@",objProp.contname];
UILabel *contact = (UILabel *)[cell viewWithTag:3];
contact.text = [NSString stringWithFormat=@"%@", objProp.contno];
return cell;
}