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.