iPhone表格单元标签错位

5
之前的问题类似,我在我的表格单元格中遇到了文本对齐问题。所有文本都向上移动了几个像素。我没有使用自定义单元格;我正在使用带有UITableViewCellStyleValue1样式的普通UITableViewCell,针对iPhone OS 3.1。我希望得到比之前问题的答案更简单的解决方案,特别是因为我没有使用自定义单元格。我还想知道问题的确切原因,因为该问题的这一部分从未得到解决。
这是模拟器上的效果: 模拟器 http://www.shaggyfrog.com/junk/table-cell-label-misalignment-simulator.png 这是设备上的效果: 设备 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;
}

我们能看到 cellForRowAtIndexPath 的代码吗?我以前使用过 UITableViewCellStyleValue1,但从未遇到过这个问题。 - Ben S
当然,我可以添加它,但我不确定它会有多大的用处。 - Shaggy Frog
我从未见过像这样创建单元格的方式...不过它们看起来还好。也许你没有展示的代码中有其他问题? - bpapa
可能吧。我以前已经建过这样的单元格(包括在这个应用程序中),从来没有见过这个问题。就像之前的问题一样,似乎子视图有些微的错位,但是只是很小的程度。 - Shaggy Frog
1个回答

5

我知道你的代码中使用了单元格样式UITableViewCellStyleValue1,但设备截图看起来更像UITableViewCellStyleSubtitle

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

另外,如果你不打算使用detailTextLabel属性,最好使用UITableViewCellStyleDefault


1
根据我上面的代码,我没有使用字幕样式。布局错误是textLabel只有在设置了detailTextLabel后才能正确对齐,但它们应该是彼此独立的。 - Shaggy Frog
到目前为止还没有回应。这个 bug 仍然是“打开”的状态。我不认为你可以查看其他人的 bug 报告——我大多数情况下只是为了完整性而发布了 #,所以对于误导你我感到抱歉。 :) - Shaggy Frog
太酷了!你帮我省了很多事。在其他一些帖子中,我看到有人建议创建自定义单元格... - mshsayem
1
我忘记在这里更新了:苹果表示他们已经在iPhone OS 4.0中修复了该漏洞。 - Shaggy Frog
Shaggy Frog:我在WWDC'10上,当我看到我的cell.textLabel错位时(之前它还好好的),我简直要疯了。你的一条评论让我免去了很多痛苦。投票支持。谢谢! - Joe D'Andrea
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接