iOS 9 beta 更新:Apple 可能已针对 iOS 9 修复了此问题。如果您在 iOS 8 上解决了此问题,请确保它在 iOS 9 上也能正常工作。
在故事板中,我创建了一个弹出框演示转场,以通过按钮呈现导航和视图控制器,并创建展开转场。
在纵向模式下,模态(全屏)演示文稿将按预期展开/关闭。
在横向方向上,展开转场也会被调用,但是弹出窗口演示文稿是not自动解雇。
我错过了连接什么东西吗?我必须自己关闭弹出窗口演示吗?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)__unused sender
{
if ([[segue identifier] isEqualToString:@"showSelectBookChapter"])
{
UINavigationController *navigationController = segue.destinationViewController;
if ([navigationController.topViewController isKindOfClass:[BIBLESelectViewController class]])
{
BIBLESelectViewController *selectViewController = (BIBLESelectViewController *)navigationController.topViewController;
selectViewController.initialBookChapterVerse = self.bookChapterVerse;
}
}
}
- (IBAction)unwindToBIBLEChapterViewController:(UIStoryboardSegue *)segue
{
if ([segue.identifier isEqualToString:@"unwindToBIBLEChapterViewController"]) {
if ([segue.sourceViewController isKindOfClass:[BIBLESelectViewController class]])
{
BIBLESelectViewController *sourceViewController = (BIBLESelectViewController *)segue.sourceViewController;
self.bookChapterVerse = sourceViewController.selectedBookChapterVerse;
[self.tableView reloadData];
}
}
}
Update:
After looking at gabbler's sample code, I've narrowed the problem down to popover dismissing fine in a Single View Application, but not in a Master-Detail Application.
更新2:这是层次结构的样子(为了简单起见,省略了导航控制器),回答了路易斯提出的问题:
- Split view controller
- 主视图控制器
- Detail view controller
- Chapter view controller (modal page sheet)
- 选择视图控制器(有问题的弹出窗口展开到章节视图控制器,但不会关闭)
正如我在之前的更新中提到的,我创建了一个新的主/详细信息模板,并直接从详细信息视图(中的按钮)简单地呈现了一个弹出窗口。它不会解雇。