iOS 9 ベータ版の更新: Apple は iOS 9 でこれを修正した可能性があります。iOS 8 でこの問題を回避する場合は、iOS 9 でも正しく動作することを確認してください。
ストーリーボードでは、ポップオーバー プレゼンテーション セグエを作成して、ボタンからナビゲーションおよびビュー コントローラーを表示し、アンワインド セグエを作成しました。
縦向きでは、モーダル (フルスクリーン) プレゼンテーションは期待どおりに巻き戻されます/閉じられます。
横向きでは、アンワインド セグエも呼び出されますが、ポップオーバー プレゼンテーションは自動的に閉じられません。
私は何かを接続するのを逃しましたか?ポップオーバー プレゼンテーションを自分で閉じる必要がありますか?
- (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 が尋ねた質問への回答として、階層は次のようになります (簡単にするためにナビゲーション コントローラーは省略しています)。
- スプリットビューコントローラー
- マスター ビュー コントローラー
- 詳細ビューコントローラー
- チャプター ビュー コントローラー (モーダル ページ シート)
- ビューコントローラーを選択します(チャプタービューコントローラーに巻き戻すが、閉じない問題のあるポップオーバー)
- チャプター ビュー コントローラー (モーダル ページ シート)
前回の更新で述べたように、新しいマスター/詳細テンプレートを作成し、詳細ビュー (のボタン) から直接ポップオーバーを表示しました。それは却下しません。