基本的な質問からポップアップのように:iOSのショーのUIViewControllerどこ
確実な方法(異なるスレッドからを含む)アプリの寿命の任意の時点で、モーダルUIViewControllers
を示すトリガするためにありますか?
私の現在のアプローチは、表示されているViewController(window.rootViewController
+階層のトラバースによって見つけられましたが、それは重要ではありません)でpresentViewController
を呼び出すことです。これは一般的には機能しますが、ナビゲーションアクションやアニメーションが行われるなどの理由で無視されることがあります。
など。表示されるポップアップのためのバックグラウンドスレッド信号、ViewController
上でpresentViewController
が呼び出され、解約されています。 が表示されていない場合(いくつかのインスタンスが複数回表示されている場合)、信号を繰り返すなどのいくつかの回避策を試しましたが、これはwhackamoleのゲームになりました。
ポップアップの下でナビゲーションを行うこともできますが、今の主な問題は信頼性だけです。明確にすることが
編集
、私はベテラン開発者です。スレッディングが適切に処理され、インスタンスとタイプの管理が機能しています。私の問題は、角のケースである をすべて管理することであり、それを行う方法の基本ではありません。
まずUIの変更はすべてUIスレッドで行う必要があるため、異なるスレッドはオプションではありません。第二に私はあなたが何か起こっていることに関係なくいつでもこれを表示したいと思っています。なぜなら、すべてのウィンドウの上にウィンドウを追加し、表示/非表示を手動で処理するのはなぜですか? – Lefteris
スレッディングが正しく処理されていますが、それは問題ではありません。私はある時点でウィンドウを使って直接作業してみましたが、それに重なっている問題がありました。たぶんもう一度試してみるべきでしょうか? – PeejWeej
あなたが必要とするのは、クラスをシングルトンにすることです。その方法では、ビューのインスタンスが1つだけロードされます。表示と非表示が重なり合うことはありません。 – GeneCode