問題タブ [nstoolbar]

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 に答える
1032 参照

cocoa - NSWindowでビューを変更すると、ビューのコンテンツが削除されます

NSToolbarとNSWindowControllerを使用して、NSWindowのビューを変更しています。ツールバー項目を選択すると、ウィンドウのビューが正常に変更され、ウィンドウのサイズがビューのサイズに応じて変更されます。ウィンドウを最初にロードすると、ビューのコンテンツが期待どおりに表示されます。ただし、ツールバーアイテムを選択すると、新しいビューのコンテンツは表示されなくなり、ビューを元のビューに戻すと、そのコンテンツも表示されなくなります。何がこれを引き起こしているのかわからないので、助けていただければ幸いです。

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

cocoa - NSToolbarからのフォントパネルのフィルタリング

NSToolbarフォントアイテムがあります。フォントテーブルでフォントのフィルターを設定することはできますか?たとえば、フォントファミリテーブルにArialを含めたくありません。

または2番目の方法-FontsasCollectionで独自のグループを作成することは可能ですか?Thx4の返信。

0 投票する
3 に答える
2229 参照

cocoa - Mail.appやXcodeのように2行のツールバーを取得するにはどうすればよいですか?

アプリのNSToolbarの後に「2番目の行」を追加しようとしています。これはタイトルバーの一部のままです。例として、MailにはNSToolbarの下に細い灰色の仕切り線があり、その下にいくつかの追加アイテムがあります。具体的には、ウィンドウがフルスクリーンモードになっている場合、その2番目の「行」はシステムメニューバーの下にスライドするときにタイトルバーに接続されたままになります。Xcodeにも同様の話があります。

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

NSWindowをテクスチャに設定し、2番目の行のコントロールをウィンドウのコンテンツビューに直接配置してみました。これはウィンドウモードではほとんど正しいように見えますが、フルスクリーンモードで下にスライドすると、もちろんこれらのコントロールはツールバーにアタッチされて表示されません。では、どうすればMailやXcodeと同じ動作を実現できますか?私は多くのツールバーカスタマイズコードを見てきましたが、どれもこの特定のケースを実際にカバーしていません。

ここに画像の説明を入力してください ここに画像の説明を入力してください

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

xcode - XCode からプロジェクトを終了すると、ツールバーが非表示になります

起動時に表示されず、メニュー バーからアクセスする必要があるツールバーを使用して、Xcode でアプリケーションを構築しています。ただし、「Visible at Launch」のチェックを外すとすぐにツールバーが消え、再度表示する方法がわからないため、command-z を使用せずにカスタマイズできます。いつでも好きなときにカスタマイズできる方法があるに違いないことはわかっています。ありがとう!

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

cocoa - NSToolbarItemGroup - 動作しませんか?

NSToolbarItemGroup はここに文書化されています。私はそれについてそれ以上のものを見つけることができません!

使ってみて、様子を見ようと思います。私のコードは、基本的にドキュメントから直接引用されています。しかし、ツールバーに「グループ」が表示されません。コードが実行され、アイテムがツールバーに追加されますが、表示されないだけですか?!

これを使って成功した人はいますか?環境は最新の XCode を使用した 10.8.3 です。

0 投票する
0 に答える
91 参照

cocoa - カスタマイズ パレットの Nib 定義のツールバー項目

nib で定義されたツールバーでは、ツールバー デリゲートのtoolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:メソッドが呼び出されないことがわかりました。では、カスタム アイテムの 1 つがカスタマイズ パレットに入っているかどうかは、どうすればわかりますか? ドキュメントによると、ペン先の場合、そのメソッドを使用して「機能を拡張」することはできますが、拡張は行われません。

更新:デリゲートではなくサブクラスでそのメソッドを実装しようとしました。カスタマイズシートを設定するときだけ呼び出されますが、奇妙なことにtoolbaritemIdentifierすべての項目に対して nil です。

更新 2:カスタム ビューでオーバーライドviewWillMoveToWindow:し、新しいウィンドウにツールバーがあるかどうかを確認することで、これを回避しています。ツールバーのないウィンドウとツールバーのウィンドウの間でビューが前後に移動するのを見ています。これは、アイテムが作成されたときにのみ呼び出されるデリゲート メソッドよりも、実際にはこれがより良い解決策である可能性があることを示唆しています。

0 投票する
0 に答える
160 参照

cocoa - NSToolbarItem のドラッグ/ドロップ動作を実装するには?

私は典型的なココアアプリケーションを持っています. ツールバーにはツールバー項目があり、現在の動作では、このツールバー項目がクリックされるたびに、メイン ウィンドウのビューに四角形が描画されます。

ただし、新しい要件があります。ユーザーは、このツールバー項目をメイン ビュー内の位置にドラッグして、その位置 (ユーザーがマウスを離してツールバー項目をドロップする場所) に四角形が描画されるようにする必要があります。

https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSToolbarItem_Class/Reference/Reference.htmlおよびhttps://developer.apple.com/libraryで Apple dev ドキュメントを確認しました/mac/documentation/cocoa/Conceptual/Toolbars/Toolbars.html#//apple_ref/doc/uid/10000109i、これに関連するメソッドが見つかりません。

誰もそれを行う方法を知っていますか? ありがとう。

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

cocoa - NSToolbar のやり直しと自動取り消し - NSToolbarItem を有効にします

私のドキュメントベースのアプリケーションでは、やり直しと元に戻す動作をNSUndoManager.

NSToolbarItemscanRedoおよびに基づいて、元に戻す/やり直しを自動的に有効または無効にしたいcanUndo(デフォルト メニューのように) (私NSToolbarItemsはイメージ ベースで- (BOOL)validateToolbarItem:(NSToolbarItem *)theItemはないため、呼び出されません)

1)有効値をにバインドしようとしましたself(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo

canUndo と canRedo は変数ベースではなく、単なるメソッドであるため、機能しません

2) WC の canUndo と canRedo に 2 つのプロパティを追加しました。これらは手元で変更しname:NSUndoManagerDidUndoChangeNotificationますname:NSUndoManagerDidRedoChangeNotificationが、アクションを NSUndoManager に追加しただけでは呼び出されないため、最初のやり直しまたは元に戻すアクションを実行する必要があります。望ましい動作を得る

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

cocoa - NSToolbar でオーバーフローを検出する方法はありますか

NSToolbar がオーバーフロー メニューを作成した (または作成する) ことを検出し、ウィンドウ サイズを調整してオーバーフローが消えるようにする必要があります。しかし、オーバーフローが発生したことを検出する簡単な方法が見つかりません。