2016-11-24 1 views
1

Ich habe eine UIScrollView, die drei UIViewControllers beherbergt, so dass ich zwischen ihnen wischen kann wie die Ansicht-Setup in SnapChat.Setzen eines Navigations-Controllers in ein UIScrollView

In meinem ViewController auf der rechten Seite des UIScrollView möchte ich den Benutzer in der Lage sein, Dinge auszuwählen und dann zu einer neuen Seite zu navigieren. Im Wesentlichen möchte ich, dass der rechte UIViewController ein Navigations-Controller mit einer Navigationsleiste ist und View-Controller, auf denen ich von dieser Seite aus navigiere, standardmäßig eine Navigationsleiste und eine Zurück-Schaltfläche als UIBarButtonItem oben links haben.

Ich ging über den normalen Weg, nur mit dem View-Controller und wählen Sie "In Navigation Controller einbetten" und Blick auf das Storyboard sieht es richtig aus, aber wenn ich es ausführen, gibt es keine Navigationsleiste am oberen Rand der Ansicht Regler.

Ich habe die Sichtbarkeit der Navigationsleiste auf "Navigationsleiste anzeigen" eingestellt, aber immer noch nichts.

Jede Hilfe willkommen

bearbeiten

Die Frage ist mehr als wahrscheinlich, mit dem zu tun, wie ich die View-Controller auf den UIScrollView hinzufügen, die wie folgt lautet:

let settingsStoryboard = UIStoryboard(name: "SettingsView", bundle: nil) 
let settingsViewController = settingsStoryboard.instantiateViewController(withIdentifier: "SettingsViewController") 
self.addChildViewController(settingsViewController) 
self.scrollView!.addSubview(settingsViewController.view) 

Also ich füge nur die Ansicht hinzu. Also, wie würde ich es als Navigationscontroller hinzufügen? Oder kann das gemacht werden?

Antwort

0

Das Problem Sie konfrontiert ist, dass Sie Ihre view controller direkt in der Bildlaufansicht hinzufügen, aber Sie sollten die navigation controller innerhalb der ScrollView hinzufügen. So gehen Sie zum Storyboard Erstellen Sie eine StoryboardID für die NavigationController, die an SettingsViewController angeschlossen ist und ersetzen Sie dann die SettingViewController ID mit navigationController's Storyboard ID.

0

vielleicht addChildViewController verwenden

- (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion:(void (^ __nullable)(BOOL finished))completion NS_AVAILABLE_IOS(5_0); 
Verwandte Themen