You should make your Home screen as your rootViewController
and in once your application starts or become active, you can check if user is logged in or not, if not then present the LoginScreen Modally, it will avoid the mess with other NavigationController
or TabBarController
Alternate could be to put all the ViewControllers
in a MutbaleArray
and set the current Index of TabBarController
according to the view you want to show? if you don't want to show the LoginScreen after user Logged in, just remove it from your MutableArray
, check my answer here, it might help your cause