Dynamisch die Höhe von UILabel & TableView Cell erhöhen?

Ich habe eine UITableView, in der ich eine benutzerdefinierte Zelle anzeige.Ich habe in meiner Zelle zwei Beschriftungen und eine Ansicht wie unten im Bild.

Ich habe die Einschränkung der linken Ansicht wie folgt angegeben

Item label constraints

center view constraints

Rechte Ansicht constarints


Ich verwende eine Bean-Klasse zum Speichern von Daten für zwei Labels und füge dieses Bean-Objekt zu einem Array hinzu. Ich verwende den folgenden Code in heightForRowAtIndexPath.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    // Calculate a height based on a cell
    if(!self.customCell) {
        self.customCell = [self.tableView dequeueReusableCellWithIdentifier:@"thirdcell"];
    }

    // Configure the cell
    Instrument *inst=[arr_instSpecs objectAtIndex:indexPath.row];
    self.customCell.label_item.text=inst.item;
    self.customCell.label_desc.text=inst.desc;


    // Layout the cell

    [self.customCell layoutIfNeeded];

    // Get the height for the cell

    CGFloat height = [self.customCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;

    // Padding of 1 point (cell separator)
    CGFloat separatorHeight = 1;

    return height + separatorHeight;
}

Problem ist weder die Höhe der Beschriftung noch die Höhe der Tabellenzelle. Ich habe alles erklärt. Ich möchte, dass die Etikettengröße zunimmt, wenn der Etikettentext zunimmt, und auch, wenn die Etikettengröße zunimmt, muss die Höhe der Zelle zunehmen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage