2017-03-16 33 views
0

我试图在我的iOS 10 ipad应用程序中居中弹出。iOS 10 popoverPresentationController在prepareForSegue中为零

我在故事板中创建了从一个视图到另一个视图的popover segue。在prepareForSegue

enter image description here

然后:我已经设置了 '之类的' SEGUE以 '酥料饼'

if ([[segue identifier] isEqualToString:@"PopoverSegue"]) { 
    UIPopoverPresentationController *popoverController = segue.destinationViewController.popoverPresentationController; 
    popoverController.sourceView = self.view; 
    popoverController.sourceRect = self.view.bounds; 
} 

然而popoverController为零。环顾四周,它看起来像别人已经成功这样做:

How to change the size of a popover

任何想法,为什么酥料饼SEGUE在故事板创建的时候,我不能让popoverPresentationController在prepareForSegue的联系呢?

+0

我不知道你的架构,但它可能是缺少navaigationController。试试这个:segue.destinationViewController.navigationController.popoverPresentationController或segue.destinationViewController.popoverPresentationController.navigationController – Ramis

+0

我没有在导航控制器中嵌入我的viewcontroller。所以没有导航控制器。据我所知popoverPresentationController应该在嵌入popover的视图中。为了好玩,我在导航控制器中嵌入了我的视图,以查看是否有所作为,但事实并非如此。 iOS 10中的错误?在iOS 10中不支持? – lostintranslation

回答

0

Your segue kind is Popover。如果您将其更改为作为弹出窗口存在,那么您应该在destinationViewController.popoverPresentationController属性中看到值。您可能需要明确启用故事板属性中的特征变体以弹出式菜单的形式显示为选项。