我希望在UITableViewCell
中以垂直顺序显示我的记录。
这是我的代码:
cell.textLabel.text=[NSString stringWithFormat:@"%d %@ %@",objProp.contid,objProp.contname,objProp.contno];
我想像这样显示我的记录。
1
sanjeet
9876556789
答案 0 :(得分:2)
我个人解决这个问题的方法是:
我会创建一个自定义的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子类。
答案 1 :(得分:1)
您需要创建自定义tableviewcell
才能按垂直顺序显示。如果您正在使用故事板,请在tableview单元格内容视图中拖动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;
}