Search code examples
iosuitableviewuipopovercontroller

Putting a UITableViewController in a UIPopoverController


I am trying to create a popover from a UITableViewController (EnrollmentPopoverTableViewController) with the code below.

However, I am getting a blank popover.

UIViewController *popovercontent = [[UIViewController alloc]init];
UIView * popoverview = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 300, 768)];
EnrollmentPopoverTableViewController *EnrollmentPopoverTable=[[EnrollmentPopoverTableViewController alloc] init];
[popoverview addSubview:EnrollmentPopoverTable.tableView];
popovercontent.view=popoverview;
myPopoverController =[[UIPopoverController alloc]initWithContentViewController:popovercontent];
 UITableViewCell *cell=[tableView cellForRowAtIndexPath:indexPath];
[self.myPopoverController presentPopoverFromRect:cell.bounds inView:cell.contentView permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

Solution

  • // create the table view controller
    EnrollmentPopoverTableViewController *tableViewController =[[EnrollmentPopoverTableViewController alloc] init];
    
    // create a popover using this view controller
    myPopoverController =[[UIPopoverController alloc]initWithContentViewController:tableViewController];
    
    // display the view controller from wherever you want to display it
    [myPopoverController presentPopoverFromRect:sizeOfPopover inView:view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
    

    You're over complicating it.