9 Stimmen

Wie kann man die Breite von UITextView so anpassen, dass der Inhalt ohne Umbruch passt?

Die Größenanpassung von UITextView an die Höhe seines Inhalts kann wie folgt erreicht werden:

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;

Gibt es etwas Ähnliches, um die Breite anzupassen, ohne den Inhaltstext umzubrechen?

17voto

AliSoftware Punkte 32525

1) Sie können verwenden die NSString UIKit Ergänzungen um die Größe zu berechnen die der Text einnimmt (und passen Sie die Größe Ihrer UITextView entsprechend an). Sie sehen vielleicht ein Beispiel aquí .

Wenn Sie zum Beispiel die CGSize wissen müssen, die von Ihrer NSString wenn sie in einer einzigen Zeile dargestellt werden, verwenden Sie CGSize sz = [_textView.text sizeWithFont:_textView.font] und passen Sie dann Ihren Rahmen an diesen Größenwert an.

Wenn Sie wissen wollen, wie groß Ihr Text ist, wenn er auf mehreren Zeilen dargestellt wird, und ihn umbrechen wollen, wenn der Text eine bestimmte Breite erreicht, verwenden Sie sizeWithFont:constrainedToSize:lineBreakMode: stattdessen, usw.


2) Das könnte Sie auch interessieren die sizeThatFits: y sizeToFit Methoden von UIView . Die erste gibt die CGSize zurück (die in den gegebenen CGSize-Parameter passt), so dass Ihr UITextView den gesamten Text anzeigen kann. Die zweite nimmt die Größenänderung vor und passt den Rahmen für Sie an.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X