【发布时间】:2017-08-07 01:08:39
【问题描述】:
我正在尝试在我的 iOS 10 ipad 应用程序中居中显示一个弹出框。
我在情节提要中创建了从一个视图到另一个视图的弹出框转场。我已将 segue 的“种类”设置为“弹出框”:
然后在prepareForSegue:
if ([[segue identifier] isEqualToString:@"PopoverSegue"]) {
UIPopoverPresentationController *popoverController = segue.destinationViewController.popoverPresentationController;
popoverController.sourceView = self.view;
popoverController.sourceRect = self.view.bounds;
}
然而 popoverController 是 nil。环顾四周,似乎其他人在这方面取得了成功:
How to change the size of a popover
当在故事板中创建 popover segue 时,为什么我无法在 prepareForSegue 中获取 popoverPresentationController 的任何想法?
【问题讨论】:
-
我不知道你的架构,但它可能是缺少navaigationController。试试这个:segue.destinationViewController.navigationController.popoverPresentationController 或 segue.destinationViewController.popoverPresentationController.navigationController
-
我没有将我的视图控制器嵌入到导航控制器中。所以没有导航控制器。据我了解,popoverPresentationController 应该在嵌入在弹出框中的视图中。只是为了好玩,我将我的视图嵌入到导航控制器中,看看这是否有所作为,但事实并非如此。 iOS 10 中的错误? iOS 10 不支持?
标签: ios objective-c segue uipopovercontroller