UITabBarController следует использовать непосредственно в окне UIWindow, разрыв, который вы видите, заключается в том, что он автоматически помещает себя выше строки состояния.
Я думаю, что лучшим решением будет сделать это в делегате вашего приложения:
[window addSubview:[tabController view]];
Или вы можете изменить кадр представления tabController:
tabController.view.frame = CGRectOffset(tabController.view.frame, 0, -20)
[self.view addSubview:tabController.view];
Магия 20 - это высота строки состояния.