Fragen zu diesem Thema wurden gestellt. Ich habe alles versucht und konnte mein Problem nicht beheben. Ich kämpfte für 2 Stunden und jetzt poste ich das hier.
Problem: UIScrollViews oberstes contentInset hat immer 20px zusätzlichen Speicherplatz.
Ich habe Viewcontroller Xib, nicht Storyboard.
Erstens, verwandte Frage und ihre Lösung auf Stackoverflow setzt voraus, dass UIScrollView die Stammansicht von UIViewController ist. Aber mein scrollview ist nicht root view und daher vielleicht warum
self.automatischAdjustScrollViewInsets = NO;
funktioniert nicht
Hier ist der Screenshot dieses zusätzlichen 20 Pixel großen oberen Einsatzes. Extra 20px ist der schwarze Bereich zwischen weißer Linie und hellgrauem Inhalt von UIScrollView. Ich kann das nicht beheben.
Mache ich etwas falsch? Auto-Layout-Einschränkungen scheinen in Ordnung zu sein.
Haben Sie Ihren Controller in einen navigationController eingebettet? Es scheint, dass iOS 20px oben für eine Statusleiste verlässt, aber dein Controller hat keine.
Wie auch immer, in Ihrem viewDidLoad sollte es funktionieren, wenn Sie die scrollView vor dem Aufruf von super anpassen:
%Vor%Der Grund, warum iOS Ihre scrollView automatisch dazu zwingen könnte, ein 20px TOP contentInsset zu haben, liegt daran, dass es sich um die Ansicht mit dem Index 0 in Ihrer Hauptansicht handelt. Sie können hier weiter lesen: Ссылка
Standardmäßig passt ein UIViewController den Inhalt automatisch an Einfügungen von dessen UIScrollView (einschließlich UITableViews) im View Index 0, ganz zurück. Dies bedeutet, wenn es eine Schaltfläche, ein Label oder eine andere gibt Blick hinter die Tischansicht, Sie erhalten dieses Verhalten nicht kostenlos.
Tags und Links objective-c ios uiscrollview