QA@IT

NavigationControllerを閉じれない

1749 PV

こんばんは。現在タイトルの現象が発生しており困っております。

コードは下記の通りでTableViewController上にボタンを作成しそのボタンを押すと
下記①が呼び出され、別のTableViewを含んだNavigationControllerを生成します。

①呼び出し
-(void)addPicView{
PicViewController* pictv = [[PicViewController alloc]init]; //新しいtableviewを作成
UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:pictv];
[self presentViewController:nc animated:YES completion:nil];
}

表示された新しいNavigationController上にも「閉じる」ボタンが生成されます。
閉じるボタンを押した時の指示は下記の通りです。

②クローズ
-(void)picViewClose{
    [self dismissViewControllerAnimated:YES completion:nil];
}

ここで問題が発生します。①で呼び出した後、すぐに「閉じる」ボタンを押すと②の処理が呼び出され
PicViewControllerが表示されている新しいNavigationControllerはクローズします。

しかし、表示されたPicViewControllerのレコードを押して下位の層へTableViewの表示を切り替えた後、
「戻る」より最初の表示画面(PicViewControllerの)に再帰してから「閉じる」ボタンを押すと
②のコードが呼び出されているにも関わらず新しいNavigationControllerがクローズされません。
(②のコードが呼び出されているのはNSLogを使って確認)

①の表示直後とTableView操作後では何が違うのでしょうか?またはNavigationControllerの
閉じ方に間違いがあるのでしょうか?

ご理解できる方がいれば、ご協力よろしくお願いたします。

ウォッチ

この質問への回答やコメントをメールでお知らせします。