In meinem Storyboard habe ich eine UITableView
mit dynamisch generierten UITableViewCell
s. Jede Zelle enthält zwei Etiketten und 1 Textansicht:Wie kann ich die UITableViewCell-Höhe an den Inhalt von UITextView anpassen, der darin enthalten ist?
Ich habe einen Code, der die Größe des Textfeldes auf die Menge an Text anzupassen:
let fixedWidth = cell.myComment.frame.size.width
cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
let newSize = cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
var newFrame = cell.myComment.frame
newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
cell.myComment.frame = newFrame;
und es funktioniert gut, wenn ich eine Hintergrundfarbe meiner Textview zu rot ich sehe:
und die Zelle selbst - ich bin Einstellung der si ze hier:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
if indexPath.row == 0 {
return 100//this is my static cell
}
else {
return 117; //for now it's hardcoded - how can I set this value dynamically based on content?
}
}
So wie ich im Kommentar oben geschrieben habe - wie kann ich die Höhe der Zelle dynamisch basierend auf der Menge an Text in der Textansicht eingestellt?
Hm, brauche ich also noch einen Teil des Codes, um die Höhe der Textansicht anzupassen? – user3766930
Nein. Solange Sie die Kanten beschränken, ist UITextView intelligent genug, um den Text in die zweite Zeile einzubinden. Es hat, wie 'UILabel', eine inhaltliche Größe, die auf seinem Text basiert. – Connor
danke Mann, funktioniert wie ein Charme :) – user3766930