2015-03-13 5 views
9

Ich habe eine UITextView namens recipeDesc. Ich möchte eine Option in meiner App haben, um die Höhe des UITextView dynamisch anzupassen, um den Inhalt (Text) innerhalb des UITextView anzupassen (also muss ich wissen, wie man es programmatisch macht). Ich habe einige Antworten für Objective-C gefunden, aber ich bin nicht sehr vertraut damit, also weiß ich nicht, wie man es in Swift implementiert.Wie würde ich (programmatisch) die Höhe eines UITextView auf seine Inhaltsgröße in Swift einstellen?

Vielen Dank im Voraus für jede Hilfe.

Antwort

16

Sie können den idealen Inhalt Größe für Ihre UITextView einfach mit bekommen:

let contentSize = textView.sizeThatFits(textView.bounds.size) 

So danach können Sie es Rahmen mit dieser Höhe einstellen:

var frame = textView.frame 
frame.size.height = contentSize.height 
textView.frame = frame 

(Ich hatte ursprünglich verwendet textView.contentSize.height aber das funktioniert nicht, wenn die Ansicht noch nicht gerendert wurde. Zum Beispiel in viewDidLoad)

Wenn Sie Auto-Layout verwenden, die r sind ein bisschen anders. Aktualisieren Sie Ihre Frage, wenn Sie dies tun.

+0

Ich habe auch einige Probleme und ich benutze Auto-Layout: http://StackOverflow.com/Questions/29431968/How-to-adjust-the-Height-of-a-textview-to-his-Content-in-Swift Ich habe versucht, deinen Code zu verwenden, aber in meinem Fall funktioniert das nicht. – cmii

Verwandte Themen