Ich versuche, die Höhe eines UITextView basierend auf dem Inhalt zu aktualisieren. Ich habe this solution gesehen, kann aber nicht bekommen es mit meinem aktuellen Code zu arbeiten (noch schnellen Lernen)Programmgesteuert aktualisieren UITextView Höhe
Ich definiere die UITextView als solche:
let eventDetailInfoTextBox : UITextView = {
let textbox = UITextView()
textbox.backgroundColor = UIColor.clear
textbox.layer.borderWidth = 1
textbox.layer.borderColor = ColorPallet.AppTertiaryColor.cgColor
textbox.layer.cornerRadius = 10
textbox.setNeedsDisplay()
let contentSize = textbox.sizeThatFits(textbox.bounds.size)
textbox.isEditable = false
return textbox
}()
Die subview dann in setupViews hinzugefügt wird() zusammen mit der Festlegung ihrer Position in der Ansicht, die einen Aufruf an setupEventDetailInfoTextBox()
fileprivate func setupEventDetailInfoTextbox() {
print("Event Detail Info Text Box Height: \(eventDetailInfoTextBox.contentSize.height)")
var frame = eventDetailInfoTextBox.frame
frame.size.height = eventDetailInfoTextBox.contentSize.height
eventDetailInfoTextBox.anchor(eventDetailMapView.bottomAnchor, left: self.leftAnchor, bottom: nil, right: self.rightAnchor, topConstant: 8, leftConstant: 10, bottomConstant: 0, rightConstant: 10, widthConstant: 0, heightConstant: frame.size.height)
}
der Aufruf von .anchor verwendet, wird auf der Basis Lets bauen, die App-Frameworks über diese link gefunden und im Grunde wickelt die lokalen Funktionen von Xcode auf. Ich weiß, das funktioniert und habe die gleiche Funktion wiederholt in meiner App verwendet.
Die Ausgabe der print-Anweisung ist -8 und wird durch eine Höhe dargestellt, die (manchmal) 1 Textzeile anzeigen kann.
Kann jemand sehen, warum mein Textfeld es ablehnt, größer zu werden, wenn ich mehr als 1 Textzeile habe?
Ich bin mit 10 IOS, Xcode 8 und in schnellen 3.
Danke Sushil für Ihre Antwort. Was ich vergessen habe, ist, dass ich kein Storyboard für mein Layout verwende (daher der .anchor-Code). Ein Teil meiner Frage bezieht sich auf die Aufgaben, die Sie vorschlagen. Kannst du bitte irgendeine Anleitung geben? –