What is wrong with this approach? There is no coding behind it. But, I can see neither the item nor the title of the last screen on the right (the one with the title "cannot see").
Even if I add a back button, and set its title to something, it keeps showing the default back button.
You are pushing UITabBarViewController instance in to UINavigationViewController stack. In such case navigation bar is managed by UINavigationController that is way you don't see "Cannot see" UIBarButtonItem in the nav bar.
UITabBarViewController works best if it is the rootViewController of the application. Take a look at this unswear to see how UITabBarViewController should be used.