0

奇妙な理由で、TableView セルが動的テキスト コンテンツに適切に適合していません。セルの上部と下部の間にわずかな余白が必要です。残念ながら、テキスト コンテンツの量によっては、上下の余白がない (ぎっしり詰まった) セルもあれば、余白が大きいセルもあります。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    float result = 30;
    if (indexPath.section != 0){

        CGSize size = [[self textForIndexPath:indexPath isTitle:NO] sizeWithFont:kITDescriptionFont constrainedToSize:CGSizeMake(220, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
        result = MAX(result, size.height);
    }

    return result;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *doubleCellIdentifier = @"ITDoubleDetailCEllIdentifier";
    static NSString *cellIdentifier = @"ITDetailCEllIdentifier";


    NSString *cellIdent = (indexPath.section == 0)? doubleCellIdentifier : cellIdentifier;
    ITDescriptionCell *cell = (ITDescriptionCell *)[tableView dequeueReusableCellWithIdentifier:cellIdent];
    if (!cell) {
        UITableViewCellStyle style = (indexPath.section == 0)? UITableViewCellStyleValue2 : UITableViewCellStyleDefault;
        cell = [[ITDescriptionCell alloc] initWithStyle:style reuseIdentifier:cellIdent];
        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
        [cell.textLabel setNumberOfLines:0];
        [cell.textLabel setFont:kITDescriptionFont];
    }
    else {
        [cell.textLabel setText:@""];
        [cell.detailTextLabel setText:@""];
    }

    [cell sizeToFit];

    return cell;
}
4

1 に答える 1