如何在同一个UITableViewCell中显示两行?

时间:2011-05-07 09:04:52

标签: objective-c ios uitableview

我正在尝试在UITableView的同一表格行中显示两行文字。

这可能吗?

我尝试了不同的东西,但我无法找到任何相关内容或弄明白。您可以提供任何帮助。

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }
    phonesAppDelegate *appDelegate = (phonesAppDelegate *)[[UIApplication sharedApplication] delegate];
    HLPFoundPhones *p = (HLPFoundPhones *)[appDelegate._phones objectAtIndex:indexPath.row];

    NSString *subtitle = [NSString stringWithFormat:@"Found on location (",p.x,@",",p.y,@") on date ", p.date];

    cell.textLabel.text = p._name;
    cell.detailTextLabel.text = subtitle;

    return cell;
}

1 个答案:

答案 0 :(得分:4)

您可以在Apple的Table View Programming Guide for iOS中看到不同的风格,您可能需要的是UITableViewCellStyleSubtitle(指南中的图1-7)。请看看。

您可以使用cell.detailTextLabel.text = @"my text"设置第二个标签。

你必须改变这一行

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

使用正确的样式:UITableViewCellStyleSubtitle。

修改

格式化您在评论中描述的字符串:

NSString *location = @"a Location";
NSString *date = @"20m ago";
NSString *subtitle = [NSString stringWithFormat:@"%@ on %@", location, date];

编辑2

NSString *subtitle = [NSString stringWithFormat:@"Found on location ("%f","%f") on date %@", p.x, p.y, p.date];

请查看String Programming Guide / Formatting String Objects,详细了解如何格式化数字等。