2

iPad でアプリケーションの keyWindow に問題が発生しました。

iPhone 用にアプリを設計し、後でデバイス ファミリを設定して iPad 用の新しいストーリーボードを追加することで、iPad のサポートを追加しました。これまでのところすべて問題ありません。iPad でアプリを開くことができ、iPad 用にカスタマイズしたインターフェイスも表示されます。

ここで問題が発生します。理由はわかりませんが、私のアプリの iPad バージョンには keyWindow がありません。ユーザーの操作のために画面をロックする読み込みダイアログを最初に表示する必要があるため、メイン ウィンドウに追加しました。iPhone ではこれで問題なく動作します。

「[UIApplication sharedApplication].keyWindow」は null を返すことがわかりましたが、iPad でのみ、「[[UIApplication sharedApplication].windows objectForKey:0]」はウィンドウ オブジェクトを提供します。アプリが表示するため、もちろん存在する必要があります。完全なUI。

ipad と iphone のソース ファイルはもちろんまったく同じですが、後で iPad のサポートを追加したときに何かを見逃していたと思います...

アプリケーションデリゲートのウィンドウオブジェクトを手動でmakeKeyAndVisibleに設定しようとしましたが、うまくいきませんでした。([self.window makeKeyAndVisible];)

これを機能させるために私がしなければならないことを誰かが知っていますか?

敬具

4

1 に答える 1

3

わかりました。自分で解決しました。keyWindowとしてアクセスしたいメインウィンドウにmakeKeyAndVisibleメソッドを適用する必要がありました。アプリケーションデリゲートで機能しない理由や、iPhoneではなくiPadに手動で設定する必要がある理由はわかりませんが、現在は機能しています。

誰かがなぜ私を啓発するのかを知っているなら。

于 2012-08-29T11:26:33.953 に答える