I've accomplished this using a slightly different technique. Perhaps it's useful for you. the basic structure is that there is a MainContainerView and inside that is a MapView (in your case a table view). When I do the flip animation I grab the view of a separate view controller (list view) and add it as a subview to the MainContainerView and remove the MapView from the subview. When I want to flip back I do the opposite.
-(void)listViewButtonHandler:(id)sender
{
if (_isMap) { //transition to view 2
self.listViewController.view.frame = self.mainContainerView.bounds; //grab the view of a separate VC
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self.mainContainerView
cache:YES];
[self.mapContainerView removeFromSuperview];
[self.mainContainerView addSubview:self.listViewController.view];
[UIView commitAnimations];
self.navigationItem.leftBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"mapButton"] target:self action:@selector(listViewButtonHandler:)]; //change the button to another title
_isMap = NO;
} else {
//transition to view 1
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self.mainContainerView
cache:YES];
[self.listViewController.view removeFromSuperview];
[self.mainContainerView addSubview:self.mapContainerView];
[UIView commitAnimations];
_isMap = YES;
self.navigationItem.leftBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"actualListButton"] target:self action:@selector(listViewButtonHandler:)]; //change the button back
}
}
I hope this is helpful and that it can apply to your situation!