iOS 9 测试版更新:Apple 可能已针对 iOS 9 修复此问题。如果您针对 iOS 8 解决此问题,请确保它在 iOS 9 上也能正常工作。
在 storyboard 中,我创建了一个 popover 演示 segue 来从一个按钮呈现一个导航和视图控制器,以及创建一个 unwind segue。
在纵向中,模态(全屏)演示文稿按预期展开/关闭。
在横向,展开segue 也会被调用,但是popover 演示不会自动关闭。
我错过了连接的东西吗?我必须自己关闭弹出窗口演示吗?
- (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];
}
}
}
更新: 查看 gabbler 的示例代码后,我已将问题缩小到在单视图应用程序中弹出窗口关闭正常,但在主从应用程序中没有。
更新 2: 这是层次结构的样子(为简单起见省略导航控制器),回答 Luis 提出的问题:
- 拆分视图控制器
- 主视图控制器
- 细节视图控制器
- 章节视图控制器(模态页表)
- 选择视图控制器(有问题的弹出框展开到章节视图控制器,但不会关闭)
- 章节视图控制器(模态页表)
正如我在之前的更新中提到的,我创建了一个新的主/详细模板,并直接从详细视图(中的一个按钮)显示了一个弹出框。它不会解雇。