This will not work, because when you hide the tab bar, the moving objects will not be correctly configured (this means that you are getting empty space). You will need to use
self.hidesBottomBarWhenPushed = YES;
In your init or awakeFromNib method ... and then
[self.navigationController setToolbarHidden:NO animated:YES];
In view viewDidLoad.
Thus, the tab bar controller view will be correctly placed, it will be displayed when the tab bar is hidden. Just remember to call self.hidesBottomBarWhenPushed = NO; in your first view controller, otherwise the tab bar will still be hidden when the second display controller is popped out of the navigation stack.
Ivan Genchev
source share