2016-11-22 203 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); 
相關問題