Проблема, с которой вы столкнулись с NavigationController, заключается в том, что ваш tableViewController не находится в иерархии NavigationController. Хотите сделать это при добавлении tableViewController:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:yourTableViewController];
Затем вы можете сделать это, чтобы добавить ваш TableViewController:
[self.view addSubview:navigationController.view];
Если вы не хотите, чтобы навигационная панель отображалась в tableViewController, просто используйте:
self.navigationController.navigationBarHidden = YES;
в методе yourTableViewController viewWillAppear.
Когда вы собираетесь добавить представление после tableView, которое вы просто используете:
[self.navigationController pushViewController:someViewController animated:YES];