私はiPhoneアプリを持っており、ユーザーがボタンを押したときに、選択された操作には1〜2分かかります。ユーザーに待つように指示するメッセージを表示したいが、その間にユーザーがアプリケーションを使用するのをブロックしない。また、私はメッセージの上にカスタマイズ可能なテキストを希望します。IPhoneで非モーダルの「読み込み中」メッセージを表示する最良の方法は何ですか?
もう1つの要件は、TabBarControllerをメインナビゲーションコントロールとして使用することです。
私の考えは、画面の上部にメッセージを表示し、コンテンツを20ピクセル下に押し込むことです。複数のスクリーンがあるので、この20ピクセルのメッセージは、どの単一のスクリーンからも独立していなければならないことに注意してください。
私はいくつかの方法を試しましたが、それぞれ欠点があります。
1 - ルートビューがあり、TabBarControllerでAddSubViewを呼び出します。次に、TabBarControllerのサイズを変更し、その下のルートビューにメッセージを表示することができます。これは、TabBarController子ビューが "ViewDidAppear"メッセージを受け取らないために失敗します。面白いことに、後でモーダルウィンドウを表示すると、 "ViewDidAppear"メッセージが機能し始めます。しかし、私はViewDidAppearを最初にしたいと思います。
2 - #1と同様です。ルートビューを持ち、TabBarControllerをモーダルビューとして表示します。これにより、ViewDidAppearは動作しますが、画面が回転している場合、回転メッセージはルートビューに伝播しません。だから私はルートビューを回転することはできません。
3 - 回転を適切に処理するためのサブクラスTabBarController。アップルのドキュメントはこれをしないと言っているので、私はそれを動作させることができれば、私のアプリケーションが拒否されることを心配しています。
4 - メインウィンドウに2つのビューを追加します。メッセージを表示するためのものと、アプリコンテンツのためのもの。これはオプション#2と同じ回転問題があります。
ご迷惑をおかけして申し訳ございません。おかげさまで
ケース#2の場合:ルートVCからTabBarControllerへの通知を手動で渡します。 – TheBlack
関連のタブボタンに「12%」と表示されている「バッジ」と思われますか? –
@ TheBlack - ありがとう、それを試してみましょう。 – jriggs