Es gibt viele Fragen, die die dynamische Höhe für UITableViewCell von UITableView beantworten. Jedoch kann ich mein Problem nicht lösen.UITableViewAutomaticDimension funktioniert nicht mit benutzerdefinierten Tabellenzellen
Ich habe diese Tabellenzelle Erstellungscode:
class UINoteTabelViewCell: UITableViewCell {
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.selectionStyle = .none
}
func fill(_ note: Note) {
let view = UINote(withNote: note, atPoint: .zero)
self.contentView.addSubview(view)
}
}
Dies ist, wie ich Zelle für Tabellenansicht erstellen:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "NotePreview", for: indexPath as IndexPath) as! UINoteTabelViewCell
cell.fill(notes[indexPath.row] as! Note)
return cell
}
Auch Tabellenansicht estimatedRowHeight
und rowHeight
sind Sätze zu UITableViewAutomaticDimension
Die Tabellenansicht zeichnet jedoch immer noch mit einer Höhe von 44,1 Zeilen.
Ich habe keine Ahnung, wie Sie es beheben.
PS kann ich nicht Satz estimatedRowHeight
festgelegt, da jede Zelle dynamische Höhe haben
'geschätztRowHeight' sollte nicht 'UITableViewAutomaticDimension' sein. Versuchen Sie, es auf '100' und die' rowHeight' auf UITableViewAutomaticDimension zu setzen. – TawaNicolas
UITableViewAutomaticDimension arbeitet mit Constraints, Sie müssen geeignete Einschränkungen hinzufügen, nach denen die Zelle ihre Höhe berechnen kann – Abhishek
Stellen Sie sicher, dass Ihre Labelnummer 0 Null ist – karthikeyan