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

Ziele des Blogs

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

Problem Statement

Wenn wir eine Bildlauf- oder Tabellenansicht (eine beliebige bildlauffähige Ansicht) zu einem Ansichts-Controller hinzufügen, der oben eine Navigationsleiste enthält, tritt häufig das Problem auf, dass zwischen der oberen Navigationsleiste und der Bildlaufansicht ein zusätzlicher Abstand besteht.

scrollbare Ansicht

Warum gibt es die aktuelle Ausgabe?

Wenn wir von iOS 7 zu iOS 10 eine Navigationsleiste über einem ViewController hinzufügen, bietet uns Xcode die Option, die Navigationsleiste durchsichtig zu machen. Damit wir durch die Navigationsleiste sehen und das Scrollen der Seite durch die Navigationsleiste sehen können. Der Grund für das Problem liegt nun darin, dass beim Hinzufügen einer Bildlaufansicht zum ViewController und beim Festlegen und Durchleuchten der Navigationsleiste in der ScrollView ein Rand von der Hauptansicht für die Navigationsleiste verbleibt. Die Navigationsleiste wurde jedoch zur Laufzeit hinzugefügt und verschiebt die Hauptansicht nach unten, sodass die Navigationsleiste oben passen kann. In diesem Fall wird die Ansicht von der Navigationsleiste nach unten verschoben, und die Bildlaufansicht lässt den Rand für die Navigationsleiste frei. Hier stellen wir fest, dass der zusätzliche Abstand zweimal hinzugefügt wurde. Dies war der einzige Grund, warum zwischen der Navigationsleiste und der Bildlaufansicht ein zusätzlicher Platz angezeigt wurde.

Vorgehensweise zur Behebung des Problems

Es gibt zwei Möglichkeiten, um das Problem zu beheben. In beiden Fällen wird die Bildlaufansicht eingeschränkt, um einen zusätzlichen Rand für die Navigationsleiste zu erhalten.

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

lichtdurchlässig

2. Wir können die "Adjust Scroll View Insets" -Eigenschaft des ViewControllers deaktivieren.

ViewController

Zusammenfassung

Nachdem Sie die oben beschriebenen 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 *