Если бы я тебя, и я был в вашей обуви, прежде чем, я бы не делать то, что вы говорите, но я бы полностью перестроить стратегию и идти по этому пути:
App Делегат: MainScreenRootViewController = ==> UITabBarController:
Вкладка 1 ====> UINavigationController ====> UIViewController
Вкладка 2 ====> UINavigationController ====> UIViewController
Вкладка 3 === => UINavigationController ====> UIViewController
Выполнение этого способа даст вам больше возможностей в отношении того, что вы можете сделать позже, так как теперь каждый вкладчик имеет свою собственную навигационную структуру, и у всего приложения есть своя собственная система навигации, которая позволит вам больше гибкости для работы с дополнительными просмотров и окон. Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь, я отвечу на столько вопросов, сколько у меня есть время.
и в самом деле, вот некоторый код для вас, что я нашел:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
var nav1 = UINavigationController()
var first = FirstViewController(nibName: nil, bundle: nil)
nav1.viewControllers = [first]
var second = SecondViewController(nibName: nil, bundle: nil)
var nav2 = UINavigationController()
nav2.viewControllers = [second]
var tabs = UITabBarController()
tabs.viewControllers = [nav1, nav2]
self.window!.rootViewController = tabs;
self.window?.makeKeyAndVisible();
return true
}
Это, как вы укоренить вкладки с навигационными контроллерами, а затем укоренить главное окно с контроллером TabBar, единственное, что я будет делать другой - это root tabbar в контроллере навигации, а затем root this combo как rootViewcontroller окна.
Это отлично, мне это нравится, я не использую раскадровки самостоятельно, но это именно тот настрой, о котором я говорил. одна серьезная причина заключается в следующем: вы можете начать свое приложение с обычного вида, если хотите, а затем, когда регистрация будет завершена, и все настроено, THEN вы нажимаете большой PILE навигационных контроллеров в стек, и приложение вверх и работает – Loxx
Это даст вам возможность иметь очень очень динамичное приложение, вы сможете полностью контролировать базу кода, но он будет развиваться. Хорошая новость заключается в том, что вы собираетесь научиться тому, чтобы это делалось так. – Loxx
Еще одна вещь, с которой вам придется столкнуться, заключается в следующем: теперь у вас есть несколько контроллеров навигации в стеке, вам может потребоваться вызвать «setNavigationBarHidden: TRUE», если вы обнаружите, что ваша панель навигации вверху работает, кроме этого, вы можете нажать на вкладки, которые вы можете представить на вкладках, и вы можете делать всевозможные другие аккуратные вещи. – Loxx