>> There is a home page view, this calls a table view and then this the tab bar controller at the detail record. Is this for some reason abusing the tab bar controller?
To the best of my knowledge, it is. The idea is, if your app uses a tab bar controller at all, that same tab bar should be visible all the time, so the user doesn't have to figure out how to get the tabs back when they're not there. Reasonable exceptions, IMO, include things like:
— You have a login page that's always displayed without tab bar first (when the user is not logged in), then the app transitions to a fully-tabbed UI.
— You have a split view controller at the top level, and you want a tab bar controller as the "detail" side of the split. In this case, the tab view is always visible, so the user is not troubled by any apparent disappearance.
However, this is UI "abuse". I don't think it has anything to do with why the buttons are disappearing here.
It's a bit hard to diagnose what might have gone wrong, since it's hard to describe a storyboard configuration in a post. You might have a configuration that tab bar controllers don't support, or perhaps it's just an autolayout issue where the buttons are present but off the bottom of the screen. You could try using Xcode's view debugger to deconstruct your view hierarchy, and see what's actually there.
Regard the UI issues, I don't know what to advise, because the best setup depends on intimate details of what your app is for. It might make sense to put the table view in the "master" pane of a top-level view controller. It depends on factors like how much time the user spends in each part of your UI.