iphoneiosviewcontrollertabbarcontroller

Combining TabBar and Navigation Controllers Question


In my appDelagate I have a UIViewController called "FrontPage" which is basically a log in screen. Once the login has authenticated it removes itself from the superview and creates a tabbarcontroller, navigationcontroller (inside tabbar), and various UIViewControllers in the NC and on their own in the tab bar. I then push my TabBarVC.view to the windows subView.

It works but I was hoping after I set the windows subview to TabBarVC.view I could release the TabBarViewController to dealloc it and the appdelagate would own the TabBarVC, but when I do it's crashing.

As I'm typing this I'm realizing I never pass the actual TabBarVC, just the view but is there a way to do this?

Also if I completely FUBAR'd this up let me know.


Solution

  • You should set the window's rootViewController property to your UITabBarController instance similar to this:

        // set the tab bar controller as our root view controller    
        [self.window setRootViewController:tabBarController];
    

    To clarify, this will add the TabBarController, its view and all of its subviews to the window's view hierarchy for you and I would recommend you use this method for your login view controller as well.