2015-03-13 9 views
9

Mam UITextView o nazwie recipeDesc. Chciałbym mieć opcję w mojej aplikacji, aby dynamicznie dostosować wysokość UITextView, aby pasowała do treści (tekstu) wewnątrz UITextView (więc muszę wiedzieć, jak to zrobić programowo). Znalazłem kilka odpowiedzi na Objective-C, ale nie jestem do końca zaznajomiony z tym, więc nie wiem jak go wdrożyć w Swift.W jaki sposób (programowo) ustawić wysokość UITextView do rozmiaru zawartości w Swift?

Z góry dziękuję za pomoc.

Odpowiedz

16

można uzyskać idealny rozmiar dla tej UITextView po prostu z:

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

Więc po tym, można dostosować to rama z tej wysokości:

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

(pierwotnie użył textView.contentSize.height ale to nie działa, gdy widok nie jest jeszcze renderowany, na przykład: viewDidLoad)

Jeśli używasz automatycznego układu, r ules są trochę inne. Jeśli to zrobisz, zaktualizuj swoje pytanie.

+0

Mam również pewne problemy i korzystam z autolayout: http://stackoverflow.com/questions/29431968/how-to-adjust-the-height-of-a-textview-to-his-content-in-swift Próbowałem użyć twojego kodu, ale to nie działa w moim przypadku. – cmii

Powiązane problemy