問題タブ [nswindow]
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.
cocoa - カスタムの長さと幅を設定する
私のアプリケーションでは、アプリケーション自体から NSWindow のカスタムの長さと幅を設定したいと考えています。私はすべてをセットアップしました (NSTextfields) が、どのようにすればよいか困惑しています。
cocoa - makeKeyAndOrderFront は後者のみを行います
makeKeyAndOrderFront を使用して、あるウィンドウから別のウィンドウを開こうとしています。新しいウィンドウが表示されますが、フォーカスがありません。
メイン ウィンドウのコードは次のとおりです。
次のように、SecondWindowController は NSWindowController です。
[secondWindowController showWindow:self]
の前にも入れてみましたmakeKeyAndOrderFront
が、違いはありません。
objective-c - NSWindow のコンテンツをグレー表示する
NSWindow
with 2 NSViews
(NSSplitView
とカスタムNSView
)があります。これらのビューに入力するデータにアクセスするには、時間がかかる場合があります。この期間中、これらのビューのコンテンツをグレーアウトしたいと思います。
私の最初のアプローチは、他の 2 つを覆う黒い 3 分NSView
の 1 を作成し、アルファ値を変更することでグレーアウト効果を実現することでした。ただし、兄弟ビューを持つ階層を持つことは定義されていないことを学びました。
ここで最善のアプローチは何ですか?
- 2 つのビューをキャッシュ
NSBitmapImageRep
し、キャッシュされた画像を背景として使用して 3 番目のビューに置き換えます。 - 各ビューのアルファ値を個別に設定します(グレー効果のために黒い背景を取得する方法はまだよくわかりません)
- 考慮していないこと
nsview - カスタム ビューを使用したカスタム NSStatusItem - NSWindow、NSView、カスタム NSMenuItem を使用しますか?
Spotlight、CoverSutra、およびそのタイプの他のアプリのように動作する LSUIElement アプリを作成しようとしています。NSWindow をポップアップするカスタム NSStatusItem を作成できましたが、問題は、現在フォーカスがあるアプリがカスタム NSWindow にフォーカスすることです。
私は Matt Gemmell の例 ( http://mattgemmell.com/2008/03/04/using-maattachedwindow-with-an-nsstatusitem )に基づいています。
たとえば、Safari で Spotlight アイコンをクリックすると、現在の Safari ウィンドウはグレー表示されず、フォーカスされたままになります。Spotlight で ESC を押すと、フォーカスが Safari ウィンドウに戻ります。
カスタム NSWindow でこれを行うことができませんでした。ウィンドウにフォーカスを戻すには、ウィンドウをクリックして戻す必要があります。
だから私はこれを達成するためにどのルートに行くべきか知りたいです。ソリューションは、カスタム NSMenuItem を持つ NSWindow、NSPanel、NSMenu ですか?
cocoa - ウィンドウを画面の中央に配置する
簡潔に: Interface Builder にウィンドウをユーザーの画面の中央に配置するように指示するにはどうすればよいですか? インスペクタでポジショニング ツールを見たことがありますが、目玉がいつも思うように真っ直ぐに着地するとは限りません。init
これは、Xcode に切り替えて、またはawakeFromNib
メソッドに何かを追加する必要がある場所ですか?
objective-c - NSSegmentedControl を中央に配置する方法
通常のウィンドウの水平分割ビューのペインに NSSegmentedControl を追加しました。スプリングを調整すれば自動でセグメント化されたコントロールセンターになると思っていたのですが、そうではありません。どうすれば中心に保つことができますか?
親ビューのフレームが変更されたときにオブザーバーを追加し、中央のビューの位置を手動で調整するように言われましたが、その方法がわかりません。
どんなアイデアでも大歓迎です。
objective-c - ホットキー?重要な出来事?
ユーザーが Cmd + L を押したときにウィンドウを開こうとしていますが、コントローラー オブジェクトにその特定のキーの組み合わせをリッスンさせるにはどうすればよいですか?
objective-c - メニューバーの項目をクリックしてウィンドウを表示します
これが私のコードです:
ただし、ユーザーが現在のウィンドウをクリック/変更してからメニューバーをクリックすると、ウィンドウが閉じます。どうすればそれを止めることができますか?
cocoa - NSWindowサブクラスで「アーカイブをサポートしていません」と表示されるのはなぜですか?
私は次のクラスを持っています:
...それから私はアーカイブを呼び出します。私のエンコード方法は次のとおりです。
...ただし、この[super encodeWithCoder:aCoder];
ビットの結果、コンソールログに次のようになります。
... NSWindowのドキュメントによると、クラスはNSCodingプロトコルに準拠しているため、この問題が発生する理由がわかりません。
何か案は ?
---編集: NSWindowのクラスリファレンスは次のことを示しています。
...だけではありません"Conforms to NSCoding"
-これは、NSResponderビットのみがNSCodingに準拠していることを意味していると思いますか?
objective-c - NSWindow がキーストローク コマンドに応答しない
それは非常に単純かもしれませんが、私はそれを見つけることができません:
アプリケーションの 3 つの個別の NIB に 3 つのウィンドウがあります。1 つは新しいドキュメントを開くときに開き、残りの 2 つはプログラムのウィンドウ メニューから開くことができます。
問題は、2 つのウィンドウ (最初に開いたウィンドウ) が保存用のコマンドなどの通常のキーストロークを受け入れるのに対し、もう 1 つのウィンドウは受け入れず、代わりに警告音を鳴らすことです。2 つのウィンドウまたはそのコントローラーの違いがわかりません。レスポンダーチェーンに関係していることは知っていますが、私は無知のままです。
何か案は?