1

UIWindowプレゼンテーション専用を使用しようとしていますUIAlertControllersUIAlertActionsに接続された のハンドラーUIAlertControllersが、この other のコントローラーによって提示された場合に起動されていないことに気付くまで、すべてが順調に進んでいましたUIWindow

UIAlertControllerメイン ウィンドウの任意の viewController から を提示すると、ハンドラが起動されます。アラート ウィンドウの rootViewController から提示すると、ハンドラは起動されません。

ここで私が経験していることについてのヒントはありますか? ありがとう!

編集: 問題を示すテストプロジェクト。

解決済み:dismissViewControllerAnimated:completion: alertWindowRootViewController サブクラスのオーバーライドで完了ブロックを呼び出すのを忘れていました。

4

2 に答える 2

2

そのため、 のオーバーライドで完了ブロックを呼び出すのを忘れていたことがわかりましたdismissViewControllerAnimated:completion。どっ!

これが他の誰かにとって価値があることを期待して、修正を含めるようにテスト プロジェクトを更新しました。

私のソリューションは、のライフサイクルに関連付けられていない永続的なウィンドウを保持しているため、 Dylan Bettermanのソリューションよりも私のソリューションが好きUIAlertControllerです。これは、Dylan のソリューションとは異なり、アラート コントローラーへの強力なポインターを保持できることを意味します。

于 2015-10-08T15:25:15.517 に答える