Ich versuche, ein UITextView vertikal zu zentrieren, indem ich die entsprechende Höhe aus sizeThatFits
verwende. Es gibt eine Fülle anderer Antworten, die nahelegen, dass dies die am besten geeignete Methode ist, dies zu berechnen.iOS 8 sizeThatFits für UITextView-Text liefert nicht die richtige Höhe (AutoLayout)
(Beachten Sie, dass ich es sowohl mit einfachen als auch mit attributierten Strings versucht habe und beide dasselbe Verhalten zeigen).
Egal was ich versuche (auch mit attributierten Strings und der Einstellung der Schriftgröße oder Zeilenhöhe auf etwas größer oder kleiner) zeigt es immer nur eine bestimmte abgeschnittene Anzahl von Zeichen des Textes (in diesem Fall 3 Zeilen, und es ist immer genau gleich). Was vermisse ich?
_textView.text = [_collectionDescription lowercaseString];
_textView.font = [UIFont fontLight:22];
_textView.textColor = [UIColor whiteColor];
_textView.textAlignment = NSTextAlignmentCenter;
_constraintTextViewHeight.constant = ceilf([_textView sizeThatFits:CGSizeMake(_textView.frame.size.width, FLT_MAX)].height);
[_textView setNeedsDisplay];
[_textView updateConstraints];
Haben Sie jemals eine funktionierende Antwort gefunden? Ich habe eine verrückte Zeit, Größe zu bekommen, die funktioniert, unabhängig von der Größe des Textes. Manchmal gibt es am unteren Rand mehr Platz (nicht gemütlich), und manchmal gibt es zusätzlichen Platz, aber die letzte Textzeile fehlt. Etwas? – pizzafilms
Siehe die Antwort unten;) – brandonscript
'sizeThatFits:' ist in iOS 8 veraltet – fabb