問題タブ [keywindow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4086 参照

objective-c - Objective-C Cocoaのキーウィンドウは何ですか?

キーウィンドウとは何ですか?そして、それは何のために使われますか?「キー入力」に使用されているものを読みましたが、誰かがこれを拡張できますか?例をいただければ幸いです。

0 投票する
1 に答える
908 参照

ios - Y軸上のiosshareApplicationrootviewcontroller.frameフリップフロップ

ソフトキーボードが表示されるたびにアプリケーションのフレームを「上」に移動するiPadアプリケーションがあります。

クリンチャーは、一部のデバイスではこれが正しい方向に進むことですが、他のデバイスでは、私が望む方向とは逆の方向に進みます。ハードウェア固有ではなく、ソフトウェア固有でもないようです。私は4台のiPad(2台のipad1、2台のipad3、1台のipad2)ですべてios 5.1(9B176)を使って試しました。ロジックでこれと戦うことができるように、これがデバイスで発生するかどうかを知る方法はありますか?

また、これを実行しようとしているデバイスはそれを実行し、その状態を維持しているようです(逆も同様です)。一度発生すると、ソフトウェアの更新、デバイスの再起動、アプリの削除、またはIPAとran-from-xcodeに関係なく、常に発生するかどうかは関係ありません。

0 投票する
1 に答える
754 参照

objective-c - 他のウィンドウが開いている間、メイン ウィンドウとの対話を無効にする

すべての作業が行われるメイン ウィンドウがあります。設定パネルを開くと、設定パネルが開いている限り、メイン ウィンドウをフリーズしたいと思います。たとえば、iTunes: 環境設定を開くとすぐに、環境設定パネルだけを操作できます。

この動作をアーカイブする簡単な方法はありますか?

0 投票する
1 に答える
1219 参照

ios - keyWindow = nil iPad のみ

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];)

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

敬具

0 投票する
1 に答える
4188 参照

ios - 新しいUIWindowsを作成し、キーウィンドウを引き継ぐ-悪い習慣ですか?

私は他のすべての上にオーバーレイを表示する必要があるアプリに取り組んでいます。これは、新しいUIWindowを作成し、makeKeyAndVisbleを使用して画面を「引き継ぐ」ことによって行われます。完了すると、元のUIWindowに制御を戻します。

これは悪いことですか?アプリを低レベルで制御しているように感じますが、これは一般的に悪いことです。一方、それは非常に簡単なので、おそらくそれは完全に受け入れられます。

意見/経験?

0 投票する
1 に答える
244 参照

iphone - MoviePlayerフルスクリーンiOS 6でビューを追加

mpmovieplayercontrollerフルスクリーンでカスタムビュー(カスタマイズバー)を追加したい。以下のコードを試しました:

iOS 5 では問題なく動作しますが、iOS 6 では動作しません。

ありがとう

0 投票する
2 に答える
1669 参照

ios - keyWindow は常に UIWindow を返すとは限りません

[[UIApplication sharedApplication] keyWindow]の形式で画面の表示ビューを取得するために使用していますUIView。次に、そのビューを に変換して操作UIImageします。UIAlertView同時に表示する場合を除いて、これはうまく機能しています。その場合、keyWindowUIWindow通常のように を返すのではなく、 を返しますUIModalItemHostingWindow。そのビューを画像に変換した後は、純粋な黒いスクリーンショットになります。

ドキュメントにはkeyWindow、「最近makeKeyAndVisibleメッセージが送信されたウィンドウ配列にUIWindowオブジェクトを保持する」と書かれています。

これUIModalItemHostingWindowは、私が提示しているモーダル アラートが原因であるに違いありません。おそらくkeyWindow、画面全体ではなく、そのビューを返しているのでしょう。

私の質問は、UIView画面に表示されているすべてのものを正確に表現することを常に保証するにはどうすればよいですか? それkeyWindowは良い解決策ではないようです。1 つの回避策は、スローする可能性のあるすべてのアラートを遅らせることですが、可能であればより良い解決策を見つけたいと考えています。

0 投票する
1 に答える
427 参照

ios - ビューがウィンドウ階層にありません

最新のベータ版 iOS 8 で奇妙な問題が発生しています。私のビューは、iOS7 とは対照的に、ウィンドウ階層から消えています。基本的にUINavigationController、ある時点で新しいビューに置き換えています。このコードは iOS 8 まで問題なく動作しましたが、その理由は何ですか? に追加するUINavigationControllerと、keyWindow実際にはこの問題が回避され、ビューは実際にはウィンドウ階層に「とどまります」:

しかし、私はこの「ハック」が好きではありません。