2016-11-22 206 views
0

我想展示一个popover控制器,但由于某种原因,我无法获得正确设置popover的宽度/高度。下面是我使用的代码:UIPopoverPresentationController宽度和高度没有设置

这里是我的代码:

 UIStoryboard* myStoryboard = self.storyboard; 

     ScenarioPopOver* popOver = (ScenarioPopOver*)[myStoryboard instantiateViewControllerWithIdentifier:@"scenarioPopover"]; 

     popOver.modalPresentationStyle = UIModalPresentationPopover; 
     [self presentViewController:popOver animated:YES completion:nil]; 

     // configure the Popover presentation controller 
     UIPopoverPresentationController *popController = [popOver popoverPresentationController]; 
     popController.permittedArrowDirections = UIPopoverArrowDirectionUp; 
     popController.delegate = self; 

     // in case we don't have a bar button as reference 
     popController.sourceView = self.view; 
     popController.sourceRect = CGRectMake(self.view.center.x - 25.0, 10.0, 50.0, 50.0); 

但酥料饼的不断出来是这样的:过这个问题

enter image description here

+0

这听起来很奇怪,但是,为我尝试一些。在第一次访问'self.view'之前,就在它自己的一行上,添加:'[self view];'。我有一个类似的问题,当弹出窗口第一次出现时,视图没有正确加载 - 使用像这样的方法访问视图似乎修复了它..... – EvilGeniusJamie

+0

没有骰子。仍然得到相同的结果。 – PruitIgoe

回答

0

万一有人绊倒。我试图在UIPopoverPresentationController上设置preferredContentSize,而不是在其中设置UIViewController。正确的代码如下:

UIStoryboard* myStoryboard = self.storyboard; 

    ScenarioPopOver* popOver = (ScenarioPopOver*)[myStoryboard instantiateViewControllerWithIdentifier:@"scenarioPopover"]; 

    popOver.modalPresentationStyle = UIModalPresentationPopover; 
    [self presentViewController:popOver animated:YES completion:nil]; 

    // configure the Popover presentation controller 
    UIPopoverPresentationController *popController = [popOver popoverPresentationController]; 
    popController.permittedArrowDirections = UIPopoverArrowDirectionUp; 
    popController.delegate = self; 
    popOver.preferredContentSize = CGSizeMake(400.0, 300.0); 

    // in case we don't have a bar button as reference 
    popController.sourceView = self.view; 
    popController.sourceRect = CGRectMake(self.view.center.x - 150.0, 10.0, 0.0, 0.0); 
相关问题