Extra 20px Oberen Versatz UIScrollView Problem
Fragen zu diesen Themen gestellt wurden. Ich habe alles versucht, und konnte nicht das Problem lösen, mein problem. Ich kämpfte für 2 Stunden und jetzt bin ich dieses posting hier.
Problem: UIScrollView top contentInset hat immer 20px extra Raum.
Habe ich viewcontroller-xib, storyboard nicht.
Erste, Verwandte Frage und Ihre Lösung auf stackoverflow wird davon ausgegangen, dass UIScrollView ist der root-Ansicht von UIViewController. Aber mein scrollview nicht-root-Ansicht-und damit das warum vielleicht
selbst.automaticallyAdjustsScrollViewInsets = NEIN;
nicht funktioniert
- Ich habe eine HeaderView mit leadingspace(0, superview), Leerzeichen(0, super Sicht), top-Raum(0, superview)
und "Feste Höhe". - Unten header Ansicht ist scrollview mit führenden Leerzeichen(0, superview),
Leerzeichen(0, superview), unteren Raum(0, superview) und die vertikale
space(0, header anzeigen) - Es ist ein Blick in die scrollview für den Inhalt. Diese Ansicht hat
führende(0), Hinterkante(0), unten(0) und Oberseite(0) - Raum, um scrollview.
Hier ist der screenshot, dass zusätzliche 20 px oberen Versatz. Extra 20px ist der schwarze Bereich zwischen weißer Linie und Licht-Grau Inhalt von UIScrollView ich bin nicht in der Lage, um dieses Problem.
Mache ich etwas falsch? Autolayout-constraints scheint in Ordnung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie Ihre controller, eingebettet in einen navigationController? Es scheint, dass iOS verlässt 20px an der Spitze für eine status-bar, aber Ihre Steuerung nicht über eine.
Entweder Weg, in Ihrem viewDidLoad es sollte funktionieren, wenn Sie passen Sie die scrollView vor dem Aufruf von super:
Der Grund, warum iOS wird möglicherweise automatisch gezwungen werden, Ihre scrollView zu haben 20px TOP contentInset ist, weil es sein könnte, die views mit dem index 0 in der main-view. Lesen Sie hier weiter: http://b2cloud.com.au/how-to-guides/uiviewcontroller-changes-in-ios7
Hier die akzeptierte Antwort von Pauls SWIFT 4:
Für iOS 11.1 und höher:
Swift 5
ObjC
Grund, warum ich bin nicht mit
0
, aberCGFloat.leastNonzeroMagnitude
ist, dass in einigen Fällen iOS gilt default-Wert, wenn der Wert eingestellt ist0