2016-07-17 22 views
1

Ich habe einen UITabBarController mit einer Navigationsleiste. In der Navigationsleiste befindet sich eine Schaltfläche, die einen neuen UIViewController mit einem UINavigationController instanziiert: self.presentViewController(nav, animated: true, completion: nil) und wie ich es erwarte, wird die Ansicht über Vollbild angezeigt.Präsentieren eines neuen UIViewControler in einem UITabBarController

Also, meine Frage ist: Wie kann ich den neuen UIViewController präsentieren, ohne meine Tabbar zu verstecken/zu überlappen?

+0

Kann man so etwas versuchen: 'self.tabBarController.selectedViewController.presentViewController (nav, animiert: true, Abschluss: null)'? – Randy

+0

danke, ich habe es versucht, aber es funktioniert nicht für mich – Tharnatoz

Antwort

0

Sie sollten sicherstellen, dass Sie den richtigen modalPresentionStyle auf dem View-Controller, den Sie präsentieren, einstellen. Vielleicht .CurrentContext oder .OverCurrentContext. Damit dies funktioniert, sollten Sie auch definesPresentationContext auf true auf der selectedViewController setzen. In Ihrer UITabBarController Unterklasse:

nav.modalPresentationStyle = .CurrentContext 
self.selectedViewController?.definesPresentationContext = true 
self.selectedViewController?.presentViewController(nav, animated: true, completion: nil) 
Verwandte Themen