ScrollView + Navigationbar: Wie bleibt die ScrollView unter dem Navigationbar sichtbar?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ScrollView + Navigationbar: Wie bleibt die ScrollView unter dem Navigationbar sichtbar?

    Hallo,

    wenn ich eine UIScrollView in einen UINavigationController oder einen UITabBarController lege ist es automatisch so, dass der Inhalt der ScrollView unter Navigation- und TabBar durchscheint. Das kann man mit den edgesForExtendedLayout natürlich ändern, aber das Standardverhalten sind erst einmal transparente Bars.

    Ich möchte nun in einem einfachen UIViewController (also kein Navigation- oder TabBarController) eine UINavigationBar und eine ScrollView verwenden und dort dasselbe Verhalten erreichen. Wie mache ich das? Folgende Varianten habe ich ohne Erfolg versucht:
    1. Navbar mit am oberen Rand. Daran schließt sich die ScrollView bis zum unteren Rand an. Die ScrollView liegt also nicht unter der Navbar (wie es beim NaviController ja auch ist). Beim Scrollen ist der Inhalt NICHT unter der Navbar sichtbar (eigentlich logisch).
    2. Navbar UND ScrollView liegen am oberen Rand. Die Navbar liegt also über der ScrollView (Scroll insets sorgen für korrekte Position des Inhalts). Auch hierbei werden Inhalte NICHT unter der Navbar sichtbar.
    3. Verschiedene Einstellungen für edgesForExtendedLayout, die Scroll insets oder den Opaque Wert der Navbar haben keinen Einfluss
    Mit welchen Einstellungen schaffe ich es also, dass die ScrollView unter der Navbar scrollt und hindurchscheint?

    Packe ich den VC in einen UINavigationController und verwende dessen Navbar ist es wie gesagt kein Problem. Ich benötige aber gar keinen NavigationController sondern nutze die NavBar nur für die Anzeige von Titel und einigen Funktionen. Kann man das nur mit dem Overhead des zusätzlichen NavigationControllers lösen?