Ich habe UITextView mit etwas Text darin. Mit iOS 6 war alles in Ordnung, aber jetzt mit iOS 7 lässt es die Leerstelle oben und platziert den Text dann unter der Mitte der Textansicht.
Ich habe kein contentOffSet festgelegt. Bitte helfen Sie!
ios
iphone
xcode
cocoa-touch
uitextfield
Ali Sufyan
quelle
quelle
Die aktuelle Antwort von IronManGill ist keine gute Lösung, da sie nicht auf dem Verständnis basiert, warum das Problem überhaupt auftritt.
Die Antwort von jrturton ist auch nicht der sauberste Weg, sie zu lösen. Sie müssen nicht überschreiben. Halte es einfach!
Sie müssen lediglich Folgendes einstellen:
in der viewDidLoad-Methode.
Überprüfen Sie die Dokumente: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
quelle
automaticallyAdjustsScrollViewInsets
ist veraltet. Verwenden Sie ab iOS11contentInsetAdjustmentBehavior
Im Interface Builder
quelle
Das hat bei mir funktioniert
quelle
Gehe zu
Interface Builder
:view controller
, das Ihre enthälttext view
Adjusts Scroll View Insets
Eigenschaftquelle
Ich frage mich wirklich, ob dies eine echte Funktion ist ... Dieser automatische 64-Punkt-Einschub wird nur hinzugefügt, wenn die
UIScrollView
oderUITextView
als die größere Tiefe aller Unteransichten der Ansicht des Ansichts-Controllers. Wenn Sie beispielsweise eine Ansicht hinter der Bildlaufansicht hinzufügen (hier geht es um Z-Buffer, nicht um Ansichtsimbrikation), wird dieser 64-Punkte-Einschub nicht automatisch hinzugefügt.Zum Beispiel fügt dieser den Einschub hinzu:
In diesem Fall wird der Einschub nicht hinzugefügt:
Das kommt mir wirklich seltsam vor… Warum sollte das Betriebssystem die Tiefe der Ansicht prüfen, um zu entscheiden, ob es die Ansicht erweitern soll?
quelle
Auf schnell (Xcode 6)
quelle
viewDidLoad
View Controller mit der Textansicht aus.automaticallyAdjustsScrollViewInsets
ist veraltet. Verwenden Sie ab iOS11contentInsetAdjustmentBehavior
Sie können das Leerzeichen über Ihrem löschen,
UITextView
indem Sie Folgendes hinzufügen:quelle
Ich habe dieses Problem behoben, indem ich den Inhaltsoffset auf einen negativen Wert gesetzt habe. Hier ist Swift-Code.
quelle
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
Was Sie verstehen müssen, ist, dass dies mit der Navigationsleiste zusammenhängt:
quelle
Ich habe den folgenden Trick ausprobiert, es hat funktioniert.
quelle
Lösung für Swift 4:
quelle
Ich bin sicher, dies ist eine unprofessionelle Lösung ... Aber nur ein leeres Etikett hinter der Textansicht löst das Problem.
quelle
Dies hat gerade bei mir funktioniert (verfügbar ab iOS 7)
quelle