Wie entferne ich zusätzlichen Platz zwischen der Navigationsleiste und der Bildlaufansicht?

Ziele des Blogs

Nach dem Lesen dieses Blogs werden wir den Grund für den zusätzlichen Platz zwischen der oberen Navigationsleiste und der Bildlaufansicht in der iOS-App in den Versionen iOS 7 bis iOS 10 verstehen können.

Problem Statement

Wenn wir in einem View-Controller, der oben eine Navigationsleiste enthält, eine Bildlaufansicht oder Tabellenansicht (jede durchlaufbare Ansicht) hinzufügen, tritt ein allgemeines Problem auf, dass zwischen der oberen Navigationsleiste und der Bildlaufansicht ein zusätzlicher Abstand besteht.

scrollbar: iOS App

Warum die aktuelle Ausgabe da ist

Wenn Sie von iOS 7 bis iOS 10 eine Navigationsleiste über einem ViewController hinzufügen, bietet Xcode eine Option, um die Navigationsleiste transparent zu machen. Damit wir durch die Navigationsleiste sehen und das Scrollen der Seite können Sie durch die Navigationsleiste sehen.

Nun liegt der Grund für das Problem darin, dass beim Hinzufügen einer Bildlaufansicht im ViewController und der durchsichtigen und durchscheinenden Navigationsleiste die ScrollView einen Rand der Hauptansicht für die Navigationsleiste hinterlässt. Die Navigationsleiste fügte jedoch zur Laufzeit hinzu und verschiebt die Hauptansicht nach unten, so dass die Navigationsleiste oben passt. In diesem Fall wird die Ansicht durch die Navigationsleiste nach unten verschoben, und die Bildlaufansicht verlässt den Rand für die Navigationsleiste. Hier stellen wir fest, dass sich der zusätzliche Abstand zweimal erhöht.

Dies war der einzige Grund, warum zwischen der Navigationsleiste und der Bildlaufansicht zusätzlicher Abstand angezeigt wird.

Verfahren, um das Problem zu lösen

Es gibt zwei Möglichkeiten, das Problem zu lösen. In beiden Fällen beschränken wir die Bildlaufansicht, um zusätzlichen Rand für die Navigationsleiste zu erhalten.

1.Wir können die Option Transluzent für die Navigationsleiste in Xcode auf "False" setzen

? This will make the navigation bar Opaque and then the scroll view is not required to scroll under the Navigation Bar. So that Scroll View will leave no space for Navigation Bar.

In der folgenden Gif sehen Sie, dass sich die Layout-Einschränkung der Ansicht ändert, wenn Sie die Eigenschaft "Transluzent" der Navigationsleiste aktivieren / deaktivieren.

lichtdurchlässig

2.Wir können deaktivieren "Passen Sie die Scroll-Insets an"Eigenschaft des ViewControllers.

Bildlauf-Insets anpassen: iOS-App

? This will restrict the Scroll View to leave extra space for the Navigation bar on top.

Zusammenfassung

Nachdem Sie die obigen Schritte ausgeführt haben, können Sie den zusätzlichen Abstand zwischen der Navigationsleiste und der Bildlaufansicht entfernen.


Akash Sharma

Akash Sharma

I'm Akash Sharma, an engineering graduate and software developer by profession. Challenges fascinate me and I like solving them.

Leave a Reply

Your email address will not be published. Required fields are marked *