I have a UIPopoverController. I put a UINavigationController with two UITableViewcontrollers in it.
I create a subclassed UITableView, I'm able to set the size of the popover with tableView.contentSizeForViewInPopover:
if (self.myPopoverController.isPopoverVisible)
{
[self.myPopoverController dismissPopoverAnimated:YES];
}
else
{
MyRootTableView *rootTableView = [[MyRootTableView alloc]initWithStyle:UITableViewStyleGrouped];
MyRootTableView.contentSizeForViewInPopover = CGSizeMake(POPOVER_SIZE.width, [self createContentHeighForTableViewController:tableView]);
MyRootTableView.boundaryDelegate = self;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
navController.navigationBar.barStyle = UIBarStyleBlack;
self.myPopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
self.myPopoverController.delegate = self;
[self.myPopoverController presentPopoverFromRect:frame inView:view permittedArrowDirections:arrowDirection animated:YES];
}
In the rootTableViewController's didSelectRowAtIndexPath:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailedTableViewController *tableViewController = [[DetailedTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
tableViewController.contentSizeForViewInPopover = CGSizeMake(POPOVER_SIZE.width, [self createContentHeighForTableViewController:tableViewController]);
tableViewController.delegate = self.boundaryDelegate;
[self.navigationController pushViewController:tableViewController animated:TRUE];
}
createContentHeightForTableViewController: calculates the height needed to show all the cells in the table view
So for the root tableViewController, I set the content size. When I create the detailed view controller, I set the contentSizeForViewInPopover to a different size. This works great. The issue I'm having is when I navigate back to the root table view, the contentSizeForViewInPopover is still set for the detail table view.
How can I resize the pop over when the table view is displayed or appears?