与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;
}
答案 0 :(得分:5)
我知道您的代码表明您正在使用单元格样式UITableViewCellStyleValue1
,但设备屏幕截图看起来真的像UITableViewCellStyleSubtitle
。
您应该为cell.detailTextLabel.text
设置一个值,以确保获得预期的单元格样式。
就此而言,如果您不打算使用detailTextLabel
属性,则应该使用UITableViewCellStyleDefault
。