0

以前的 SO 答案(请参阅此处)建议下面的代码在对 Subtitle 样式 tableView 单元格的修改中具有左右对齐的文本。但是,当这种表格视图单元格修改方法与部分一起使用时,我遇到了间距问题。

上一节的第二个(以及更大)标题和最后一行之间的间距似乎是从未修改的 tableviewcell 的底部开始的,并且没有考虑到附加标签(见下文)对 cell.contentView 的影响。调整行和标题的高度属性似乎没有帮助,因为节的最后一行和节的第一行之间的间距仍然不平衡。

- (UITableViewCell *)tableView:(UITableView *)atableView cellForRowAtIndexPath:   (NSIndexPath *)indexPath{
    UITableViewCell *cell = [atableView dequeueReusableCellWithIdentifier:@"cell"];
    if (!cell) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];

    UILabel *labelOne = [[UILabel alloc]initWithFrame:CGRectMake(20, 22, 140, 20)];
    UILabel *labelTwo = [[UILabel alloc]initWithFrame:CGRectMake(160, 22, 140, 20)];

    labelOne.text = @"Left";
    labelTwo.textAlignment = UITextAlignmentRight;
    labelTwo.text = @"Right";

    [cell.contentView addSubview:labelOne];
    [cell.contentView addSubview:labelTwo];
    }

return cell;
}
4

1 回答 1

0

单元格和标题视图堆叠在一起,它们之间没有间距。因此,您可以填充内容的唯一方法是调整单元格和标题高度。

如果您的内容布局因单元格或标题而异,以至于单个单元格和标题需要自定义高度才能获得正确的填充,您可以通过在视图控制器中实现tableView:heightForHeaderInSection:tableView:heightForRowAtIndexPath:委托方法来指定这些。

如果您可以发布更多详细信息,例如突出问题的图片,我也许可以给您更具体的答案。

于 2013-07-08T20:10:22.590 回答