UIViewController 没有带有 UIModalPresentationFormSheet 的 parentViewController?

Posted

技术标签:

【中文标题】UIViewController 没有带有 UIModalPresentationFormSheet 的 parentViewController?【英文标题】:UIViewController have no parentViewController with UIModalPresentationFormSheet? 【发布时间】:2013-07-26 14:29:38 【问题描述】:

我用UIStoryboardSegue

- (void)perform

    [(UIViewController *)self.destinationViewController setModalPresentationStyle:UIModalPresentationFormSheet];
    [(UIViewController *)self.destinationViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [(UIViewController *)self.sourceViewController presentViewController:self.destinationViewController animated:YES completion:nil];

那么在destinationViewControllerparentViewController 的值是nil。怎么可能,以及如何使用UIModalPresentationFormSheetdestinationViewController 中获得sourceViewController

【问题讨论】:

【参考方案1】:

请参阅文档。从您的代码片段来看,parentViewController 应该是nil,因为它没有嵌入到其 parentView 的容器视图中。 你的意思是presentingViewController

啊……它在 ios 5 中发生了变化。在早期版本中,parentViewController 确实返回了当前视图控制器,如果它没有父视图控制器。现在它返回零。您应该改用preseningViewController

【讨论】:

以上是关于UIViewController 没有带有 UIModalPresentationFormSheet 的 parentViewController?的主要内容,如果未能解决你的问题,请参考以下文章

替换 UITabBarController 中的 UIViewController

将带有 ScrollView 和 AutoLayout 的 UIViewController 添加到另一个 UIViewController

P1373 小a和uim之大逃离

UIViewController 内带有 UITableView 的搜索栏

带有 UIViewController(或 UITableViewController)的 tableView 属性

带有 UIViewController 的插件