Search code examples
objective-cioscocoa-touchipaduipopovercontroller

How To Dynamically change the contentSize of UIPopoverController?


I have a UIViewController that contains a UITableView. This UIViewController is being displayed in a UIPopoverController.

Now, the things is that the number of items in the tableView is not constant, and I want the size of the popover (that is - the popoverContentSize), to adjust according to the number of items in the tableView

Naively, I was thinking that if I'll set the contentSizeForViewInPopover in viewDidLoad after I'm loading the tableView with all the items - It'll do it.

It didn't.

So the make it short, my question is: How can I change the popoverContentSize directly from the contentViewController - after it's been presented?

Appendix: enter image description here


Solution

  • I might be very late to answer but for new user from iOS 7 please use the following line in your UIViewController i,e contentViewController of your UIPopOverViewConotroller

    -(void) viewDidAppear:(BOOL)animated{
        [super viewDidAppear:animated];
        self.preferredContentSize=myTableView.contentSize;
    }
    

    Hope this will help for iOS 7 user.