iPhone表格单元标签未对齐

时间:2009-12-10 20:53:36

标签: iphone uitableview label alignment

this previous question类似,我在表格单元格中遇到文本对齐问题。所有文本都向上移动了几个像素。我没有使用自定义单元格;我使用UITableViewCell样式的常规UITableViewCellStyleValue1,定位到iPhone OS 3.1。我更喜欢比前一个问题的答案更简单的解决方案,特别是因为我没有使用自定义单元格。我也想确切地知道问题是什么,因为问题的这一部分从未得到解决。

以下是模拟器上的样子:

Simulator http://www.shaggyfrog.com/junk/table-cell-label-misalignment-simulator.png

在设备上:

Device http://www.shaggyfrog.com/junk/table-cell-label-misalignment-device.png

编辑:根据请求提供更多代码。 (我正在cellForRowAtIndexPath之外构建我的表格单元格。)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [cells objectAtIndex:[indexPath row]];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    [self loadCells];
    [table reloadData];

    [self.navigationController setNavigationBarHidden:NO animated:YES];
}

- (void)loadCells
{
    cells = [[NSArray alloc] initWithObjects:[self aCell], [self bCell], nil];
}

- (UITableViewCell*)aCell
{
    UITableViewCell* cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Foo"] autorelease];
    cell.textLabel.text = @"A";
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}

- (UITableViewCell*)bCell
{
    UITableViewCell* cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Foo"] autorelease];
    cell.textLabel.text = @"B";
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}

1 个答案:

答案 0 :(得分:5)

我知道您的代码表明您正在使用单元格样式UITableViewCellStyleValue1,但设备屏幕截图看起来真的像UITableViewCellStyleSubtitle

您应该为cell.detailTextLabel.text设置一个值,以确保获得预期的单元格样式。

就此而言,如果您不打算使用detailTextLabel属性,则应该使用UITableViewCellStyleDefault