I have a UIViewController that contains a UITableView. This UIViewController is being displayed in a UIPopoverController.
UIViewController
UITableView
UIPopoverController
iOS8/9 solution - just override preferredContentSize and force the table view to layout prior to returning it's contentSize.
preferredContentSize
contentSize
- (CGSize)preferredContentSize { [self.tableView layoutIfNeeded]; return self.tableView.contentSize; }