I'm converting and iphone project to ipad. On iphone I have a mainViewController that opens a loginViewController using addSubView
.
On the iPad I would like to display that loginViewController in a popover. so I did something like:
UIPopoverController *loginPop = [[UIPopoverController alloc] initWithContentViewController:loginViewController];
[loginPop presentPopoverFromRect:CGRectMake(150, 150, 90, 90) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:true];
This works fine. The problem is when the loginViewController finishes its "business". On the iPhone I just call a simple [self.view removeFromSuperview];
But on the ipad this causes the view to be removed from the PopoverController but the frame of the popup stays.
So my question is: is there any simple way from within the loginViewController to remove its PopoverController container (without using delegate or notifications)?
Yes, your loginViewController
should keep a reference to the popover. Then you can use the dismissPopoverAnimated:
method of your popover itself to remove it.