だから私はストーリーボードを使用してiPadレシピベースのアプリを作成しています。ここで私のプログラムの構造を理解するために、Viewコントローラーのフローを示します。
ViewController --Modally-> PreviewViewController --Modally-> RecipeViewController --Popup-> IngredientsViewController
これはすべてストーリーボードで行われました。を作成し、ポップアップとして表示されるようIngredientsViewController
にリンクしました。これは正常に機能します。RecipeViewController
ただし、プログラムで却下できるようにしたいIngredientsViewController
(音声コマンド機能を実装しているため)。IngredientsViewController
問題は、それを却下するためににアクセスできないように見えることです。(申し訳ありませんが、まだ写真を投稿できません)。
私は次のコードを使用してIngredientsViewController
プログラムで(内からRecipeViewController
)提示しています:
[self performSegueWithIdentifier:@"ingr" sender:nil];
これはポップアップを表示するのに問題なく機能しますが、私はそれを却下することはできません。ビューコントローラの階層を介してアクセスしようとしましたが、見つからないようです。スタックの最上位にあると思いますが、どうやらそうではありませんか?私は次のようなことを試しました:
[self.presentedViewController dismissViewControllerAnimated:YES completion:nil];
繰り返しますが、これは内から呼び出されましRecipeViewController
た。しかし、それは単にポップアップによって提示されているものではRecipeViewController
なく、を却下します。IngredientsViewController
明確にするために、IngredientsViewController
はではなく、ストーリーボードで作成されUIPopoverController
た通常のviewController
スタイルであり、そのセグエスタイルはのボタンにリンクされたポップアップRecipeViewController
です。
どんな助けでも大歓迎です。ありがとう!