Ich möchte Text vertikal zentrieren in UItextView
.UITextView alligine Text vertikal zentrieren
ich folgenden Code verwenden
UITextView *tv = object;
CGFloat topCorrect = ([tv bounds].size.height - [tv contentSize].height * [tv zoomScale])/2.0;
topCorrect = (topCorrect < 0.0 ? 0.0 : topCorrect);
tv.contentOffset = (CGPoint){.x = 0, .y = -topCorrect}
;
Irgendwie funktioniert das nicht in iOS 5, da die dort zurückgegebene contentSize anders ist, was ich in iOS6 bekomme.
Irgendeine Idee, warum contentSize
der gleichen TextView ist in iOS 5 und iOS 6 anders?
Dies hält den Text nicht ständig vertikal zentriert, denn wenn die UITextView in der Größe geändert wird (fo Wenn beispielsweise die Tastatur angezeigt wird, kehrt der Inhalt in der UITextView-Datei zur oberen Ausrichtung zurück. – motionpotion
Dies ist ein großer Teil des Codes abgesehen von seinem Wert als Schlüsselpfadbeobachter. Vielen Dank. –
Ich hatte einen Absturz bei der Verwendung dieses Codes in einem 'UITableView'. Es funktioniert gut auf ios8, muss aber auch den Beobachter nach der Ausrichtung entfernen. Fügen Sie diese Zeile als letzte Zeile der Methode 'observeValueForKeyPath' hinzu: '[tv removeObserver: self forKeyPath: @" contentSize "];' –