Ich muss auf den UITabBarController zugreifen, und die zweite seiner Unteransichten von der AppDelegate.UISplitview: Zugriff auf UITabBarController von appDelegate
Dies ist, was ich in applicationDidEnterBackground versucht:
let splitViewController = self.window!.rootViewController as! UISplitViewController
let leftNavController = splitViewController.viewControllers.first as! UINavigationController
let tabController = leftNavController.tabBarController! as UITabBarController
let controllers : Array = tabController.viewControllers!
print("viewcontrollers \(controllers)")
Die App abstürzt, beschweren, dass tabController null ist. Wenn ich die UINavigation Controller aus Storyboard zu entfernen, wird die UITabBarController zugegriffen leicht mit:
let tabController = splitViewController.viewControllers.first as! UITabBarController
Was ist der richtige Weg, um den childcontrollers des UITabBarController zuzugreifen, wo ein UISplitView die Wurzel?
Warum Sie ein Navigationscontroller haben, gefolgt durch einen Tab-Bar-Controller? Können Sie erklären, wie die Navigation Ihrer App aussehen soll? –
Es tut mir leid, ich habe nicht das gesamte Storyboard gezeigt. Die Ansichten, die mit dem Tabbar-Controller verbunden sind, sind Tabellenansichten, die einen Abschnitt zu einem DetailViewController (splitview detailviewcontroller) haben. Wenn ich den UINavigationController entferne, haben die Detailansichten nicht mehr die Navigationsleiste mit verschiedenen Schaltflächen und Zurück-Schaltflächen. –