3

iOS 5では、ビューコントローラのプレゼンテーションアニメーションが完了したときに追加のパラメータと検出方法が導入されています。presentModalViewControllerアニメーションの完了を検出する

iOS 4.xなどの以前のバージョンでこれを行う方法はありますか?

私は、コントローラを提示するpresentModalViewControllerを使用していると私はアニメーションが完了していない限り、あなたは却下メソッドを呼び出すことはできませんことに気づきました。

アニメーションが完了したら、どのようにしてそれを解除することができますか?

+1

好奇心の疎外感から、モーダルビューコントローラを即座に解除することは、どのような価値がありますか? – CodaFi

+0

ああ...私はPlease Wait画面を表示し、1分ほどかかるネットワーク要求をします。接続にエラーがある場合、アニメーションが完了する前に検出されることがあります。もし私がそれを却下すれば、それは単にコマンドを無視するようです。 – blissweb

+0

Webからデータを取得するなど、長時間実行されているプロセスが完了している間に何かをしていることだけを表示したい場合は、['SVprogressHUD'](https://github.com/samvermette/SVProgressHUD) 。それはインターフェイスを無効にし、 'UIActivityIndi​​cator'を表示します。 –

答えて

1

。最初の2つにはダイスはありませんが、disDisissはviewDidAppearで動作します。 (アニメーションが終了した後に呼び出されることがあります)。

そして、あなたはおそらくすでにこれを知っているが、場合にあなたがいない:あなたはそれを提示VCからモーダルモードで表示VCを却下する必要はありません。あなたの "ネットワークを待つ" VCは、viewDidAppearで接続状態をチェックし、接続が完了したらそれを却下することができます。

+0

素晴らしい...ありがとう。もっと多くの人々に役立つことを願っています。後でコード化されたソリューションで投稿を更新しようとします。 – blissweb

0

これを行う正確な方法はありません。あなたが望むことができる最良のものは、表示されているビューコントローラのviewDidDisappear:です。モーダルビューコントローラが表示されているために消えるかどうかを判断するには、ブール値のインスタンス変数を使用してください。

正直言って、新しいソフトウェアを構築する場合は、iOS 5以降をターゲットにすることを奨めています。圧倒的多数の人々がアップグレードされ、残りは数ヶ月以内に完了する予定です。 iOS 4で新しいプロジェクトをサポートする理由はありません。

+0

ありがとうございます。私はそれを試してみましょう。私はモーダルからロードされたメッセージを返すこともできると思います。 「viewWillAppear」ブロックと「viewDidLoad」ブロックのどれか、またはアニメーションの後に*トリガするだけの何かのアイデアはどれも完了しますか?本当に良い質問ザッツ – blissweb

+0

- [ビューコントローラのライフサイクル]に、Appleのドキュメント(https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ViewLoadingandUnloading/ViewLoadingandUnloading.html#//apple_ref/doc/uid/TP40007457-CH10-SW1)は非常に包括的です。表4-1を読んで、どんなロジックをどのようなロジックに入れるのかを知ることをお勧めします。ストーリーボードではなくxibを使用している場合は、このガイドが適用されます。 –

0

「ネットワークリクエストをしているうちに待ってください」ということだけですか?おそらく、ビューコントローラ全体ではなく、そのサイズのビュー(keyWindowにフルサイズで添付)を使用することができます。ネットワークリクエストを起動するVCは、ビューを表示して、好きなアニメーションでそれを削除することができます。私はこれを行うクラスを持っています。あなたは試してみたい場合は、私に教えてください、私はそれをペーストします。私はただのviewDidLoad、viewWillAppearとviewDidAppearのVC提示モーダルを、却下しようとした

+0

私はOS5のコードなので、手作業でガベージコレクションを追加する必要があります。 – danh

+0

はい、私は大丈夫な回避策です、もう少し作業とコードだけで、特定の質問に対する回答があったかどうか、私と他の人にとって利益があるかどうか疑問に思っています。ありがとう。 – blissweb

関連する問題