iPhone表格单元标签未对齐

this previous question类似,我在表格单元格中出现文本对齐问题.所有文本都向上移动了几个像素.我没有使用自定义单元格;我使用UITableViewCellStyleValue1风格的常规UITableViewCells,目标是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;
}
最佳答案
我知道你的代码说你正在使用单元格样式UITableViewCellStyleValue1,但设备截图看起来真的像UITableViewCellStyleSubtitle.

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

在这方面,如果您不打算使用detailTextLabel属性,则应该使用UITableViewCellStyleDefault.

转载注明原文:iPhone表格单元标签未对齐 - 代码日志