How To Dynamically change the contentSize of UIPopoverController?

后端 未结 8 455
执念已碎
执念已碎 2020-12-14 16:35

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

8条回答
  •  囚心锁ツ
    2020-12-14 17:17

    Well, In the end i did something that I'm not sure if it's the right thing to do, but it is working.

    I added a reference in my contentViewController to the popoverController:

    @property (nonatomic , assign) UIPopoverController *popoverControllerContainer;
    

    Then, I added the resizing code to viewWillAppear and viewDidAppear:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        [self.tableView reloadData];
    }
    
    -(void) viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        self.contentSizeForViewInPopover = self.tableView.contentSize;
    }
    
    -(void) viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
        [self.popoverControllerContainer setPopoverContentSize:self.contentSizeForViewInPopover animated:YES];
    }
    

    So, keeping a reference to the popover is kind of hack-ish, so I'm open to hear better ideas.

提交回复
热议问题