問題タブ [nstoolbaritem]

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 投票する
2 に答える
3406 参照

objective-c - NSToolbarItem 画像のスケーリング

なぜこうなった:

ご覧のとおり、「許可されたツールバー項目」では、「PHP」ツールバー項目の画像は問題ないように見えますが、実際にツールバーにある場合、画像は奇妙に拡大縮小されます。

ありがとう

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

cocoa - NSProgressIndicator を NSToolbarItem のビューとして使用し、それをカスタマイズ シートに表示するにはどうすればよいですか?

アプリでNSToolbarセットアップしました。IBで作成されました。ツールバー項目の 1 つはビューとしてスピナー スタイルを使用しNSProgressIndicator、残りは画像です。

ツールバーのカスタマイズ シートが表示されている場合、スピナーはシートに表示されません。

-displayedWhenStoppedこれは、スピナーが に設定されているためだと最初は思いましたNO。そうではありません: YES に設定すると、アクティブなときにスピナーがツールバーに表示されますが、停止するとツールバーにもシートにも表示されません。

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

objective-c - FirstResponder に対するビューを使用して NSToolbarItem を検証する

ビュー ( ) を含むツールバー項目がNSButtonあり、ビューのターゲットが に設定されてnilいるため、アクションをトリガーするときにレスポンダー チェーンを検索します。ただし、ファーストレスポンダーに対して検証する方法を試すのに問題があります。

NSToolbarItem をサブクラス化し、実装し-(void)validateました。私が見つけた参照によると、 を呼び出して最初のレスポンダーを取得し[[[self view] window] firstResponder]、レスポンダー チェーンが または のいずれNSToolbarItemValidationかを実装しているかどうかNSUserInterfaceValidationsを確認し、適切な検証メソッドを呼び出します。

ただし、 を呼び出すと、ウィンドウとして[[self view] window]返さnilれるため、最初のレスポンダーを取得できません。

違いがあるかどうかはわかりませんが、コードで記述するのではなく、XIB でツールバーを作成しています。

NSToolbar.h を見ると、含まれているウィンドウを参照する ivar があるため、 を呼び出すことで最初のレスポンダーを見つけることができましたが、これ[[[self toolbar] valueForKey:@"window"] firstResponder]はちょっとしたハックであり、文書化された/安定したものを使用したいと思います。

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

cocoa - NSToolbarItem(setView)のNSButtonを「テキストのみ」でクリックすると、モードが「アイコンとラベル」になります。

Finder、Safari、Transmissionなどの素敵なテクスチャボタンをツールバーに再現しようとしています。まず、IBなどの「テクスチャボタン」をドラッグするだけから始めました。ユーザーがツールバーを「テキストのみ」モードに設定した場合を除いて、すべてが正常に機能します。次に彼がボタンをクリックすると、ツールバーはそれ自体で「アイコンとラベル」を有効にします。コードの問題ではないことを確認するために、ツールバーからすべてのコードとデリゲートを削除しました。

次に、念のため、新しいプロジェクトを作成し(コードはまったくありません)、NSButtonを含む1つのNSToolbarItemを含むNSToolbarを含むクリーンなNSWindowで問題を再現できます。

次のようなコードを介してNSButtonを追加します。

ただし、これにも同じ効果があります。「テキストのみのモード」でNSButtonを含むNSToolbarItemを押すと、ツールバー自体がそのモードを「アイコンとテキスト」に強制します。

どうすれば正しく動作させることができるのか、Safariなどの見栄えの良いツールバーアイテムを作成する代わりの方法があるのでしょうか。

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

objective-c - toolbarSelectableItemIdentifiers: は呼び出されません

選択可能な NSToolbarItems を作成しようとしています。IB ですべてを正しく接続しましたが、機能しtoolbarSelectableItemIdentifiers:ていません。呼び出されません。デリゲートはファイルの所有者 (NSWindowController のサブクラス) であり、ツールバーはシートにあります。これが私のコードです:

スクリーンショット:
スクリーンショット

助けてください。


いいえ、BWToolkit を使用したくありません。

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

objective-c - コードを使用してNSToolbarItemを非表示にするにはどうすればよいですか?

さまざまなオプションを備えたツールバーがあり、一部のオプションが表示されない場合があります。このコールバックを使用して、アプリケーションでそれらを無効にする方法をすでに理解しています。

しかし、私は必要なときにそれらを本当に隠す方法を見つけていません。誰かがこれを行う方法について、またはそれが本当に可能かどうかについて何かアイデアがありますか?

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

cocoa - カスタム ビューをツールバーに追加する

私はココアで2時間苦労していますが、成功していません。ツールバーにカスタム ビューを追加したいと考えています。そこで、ウィンドウに NSToolbar を (IB を使用して) 追加し、ビューを追加しました (これは完全に機能します)。IB は NSToolbarItem を自動的に作成しました。Apple の指示に従いました: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Toolbars/Tasks/AddRemoveToolbarItems.html#//apple_ref/doc/uid/20000755-BBCGJCDJ

問題は、ウィンドウにラベルが表示されているにもかかわらず、ビューが表示されないことです。

描画に使用するコードは次のとおりです(非常に単純で、テスト目的です)

誰かが私を助けることができますか?

前もって感謝します。

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

objective-c - NSToolbarItem サブクラスがイベントを呼び出さない

のサブクラスを作成し、その状態を変更するためにNSToolbarItemをキャッチしようとしています (これは、すぐに使用できる状態をサポートしていないため-(void)mouseDown:(NSEvent *)theEvent、サブクラスに追加したものです)。NSToolbarItem

mouseDown:問題は、Interface Builder でツールバー項目のクラス ID を新しいクラスの ID に設定したにもかかわらず、イベントが呼び出されないことです。

どうしてこれなの?NSToolbarItem は に関連してNSViewいるので、イベントを実行できるはずですよね?

0 投票する
6 に答える
3208 参照

objective-c - NSToolbar のラベル領域に描画することはできますか?

NSToolbarItemXcode ステータス ビューに似たビューを使用する があります。現在、ラベルはありませんが、アイテム ラベルが通常描画される領域に描画する方法がわかりません。Xcodeステータスビューと同じように、ビューをその領域に拡張したいと思います。のピクセルの一番下の部分がNSToolbar範囲外であることはわかっていますが、他のアプリケーションがラベル領域に描画されるのを見てきました。何か案は?

編集:明確にするために、これは私がXcodeで参照しているステータスビューです:

Xcode のビューと同じように、ビューの境界がツールバーのラベル領域を超えて拡張されるようにします。

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

objective-c - 複数の NSViewController でツールバーを使用する

メインビューとして機能する複数の NSViewControllers をロードする単一ウィンドウのドキュメントベースのアプリケーションがあります。各ビュー コントローラーは、特定のビジネス ニーズを処理する自己完結型のクラスであり、動作に必要なすべてのメソッドを実装します。

私の問題は、特定のView Controllerがロードされたときにツールバーを機能させる方法です。これらがウィンドウ クラスに実装されている限り、ツールバーをデリゲートに配線し、ツールバー項目をアクションに配線することに問題はありません。しかし、ビューのメソッドでツールバー項目に新しいアクションを設定しようとするとloadView、ツールバー項目は単にそれを無視し、メイン ウィンドウ クラスでメソッドを呼び出し続けます。

では、ツールバー項目のアクションを動的に変更するにはどうすればよいでしょうか?