問題タブ [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.
objective-c - NSToolbarItem を未選択に設定
現在、描画 OSX アプリケーションのツールを表すNSToolbar
with selectable を定義しようとしています。NSToolbarItems
ユーザーが使用するツール(NSToolbarItems)をクリックして選択および選択解除できるようにしたい。
たまたまSketchを知っているなら、それが私が探しているツールバーの動作です:
上の画像では、「編集」ツールが選択されていることがわかります。アイテムをもう一度クリックすると、選択が解除されます。
ツールバーに関する Apple のドキュメントを読んでいますが、ツールバー項目を選択/選択解除できるというこの効果を実現する方法についての情報が見つかりませんでした。「選択可能なツールバー項目」には次のように書かれています:
アプリケーションは
setSelectedItemIdentifier:
、目的のツールバー項目の識別子を渡すメソッドを使用して、現在選択されているツールバー項目を指定できます。現在選択されているツールバー項目は、 メソッドによって返されselectedItemIdentifier
ます。現在選択されていない場合は、nil が返されます。
しかし、メソッドが定義されている場所が見つからないsetSelectedItemIdentifier:
か、それが私の要件を解決するものであるかどうかさえわかりません。
ツールバーのアイテムに何が起こっているかというと、一度クリックすると、別の選択可能なアイテムをクリックすることによってのみ選択を解除できます。アイテムをクリックすると、常に選択されたアイテムが存在します。
これを解決する簡単な方法はありますか?この効果を達成する方法を説明しているドキュメントの重要な部分が欠けていますか?
どうもありがとう!
ANSWER:
最終的には、 の を に設定するだけselectedItemIdentifier
で済みましNSToolbar
たnil
。これにより、選択した要素が選択解除されます。
macos - NSToolbar で不適切にレンダリングされたコントロール
ボタンとセグメント化されたコントロールをツールバーに追加しようとしましたが、レンダリングが不十分です (想像力を高めるための画像) - 薄すぎます。何をしても、NSToolbarItem の最大サイズと最小サイズを設定しても何も機能しません。何が問題なのですか?
swift - NSToolbarFlexibleSpaceItem は、Swift の NSSplitViewItem に対する制約です
ほとんどすべての macOS 公式アプリには、このツールバーの機能があり、NSToolbarItem
柔軟なスペースが表示に制約されていNSSplitViewItem
ます。NSToolbar には 3 つの異なるセクションがあるのではないかと最初に考えました。しかし、それは 1 つのツールバーにすぎません。Notes アプリを開いて、ツールバーをカスタマイズできます。
- 最初のフレキシブル スペースが検出され、最初の分割ビュー アイテムと共に移動されます。
- 2 番目のフレキシブル スペースが検出され、2 番目の分割アイテムと共に移動されます。
- 残りは通常の柔軟なスペースになります。
- フレキシブル スペースが 2 つしかない場合、2 つ目は通常のフレキシブル スペースとして機能します。同じことが1つまたは柔軟なスペースにも当てはまります。
これが、Apple がフレキシブル スペース アイテムを構成する方法だと思います。
このJWToolbarAdaptiveSpaceItemを見つけましたが、取り外し可能であり、ノート アプリのようにフレキシブル スペース アイテムに置き換えることはできません。
これについて尋ねられた別のstackoverflowの質問(今は見つけられませんでした)がありますが、答えはNSToolbarではない偽のビューとボタンを追加することです。
したがって、これを達成する方法を知っている人はいますか?
(私の英語でごめんなさい)
macos - NSToolbarItem: "このツールバー項目に有効なフレーム/最小/最大サイズがあることを確認してください"?
Mac OS Sierra と新しい XCode バージョンにアップグレードしてから、NSToolbarItems ごとにアプリケーションを起動するたびに次のエラーが発生します。
StoryBoard をいじってみましたが、うまくサイズを変更できませんでした。検索すると、新しい OS でもこの問題を抱えている人が何人か見つかりましたが、役立つ回答はありませんでした。
同じ問題に直面している人、アドバイスはありますか?
どうもありがとう、
マルク
xcode - Xcode インターフェイス ビルダーが NSToolbarItem のサイズを独自にリセットし、それについて不平を言う
Xcode 8 と Sierra に更新して以来、アプリの実行時にコンソールに次のエラー メッセージが表示されます。
NSToolbarItem (NSToolbarItem: 0x608000121360) は、NSButton: 0x608000140160 のサイズを {35, 25} から予想されるサイズ {37, 27} に調整する必要がありました。このツールバー項目ビューのフレーム/最小/最大サイズが有効であることを確認してください。これはアプリのバグです。AppKit または NSToolbar に対してバグを報告しないでください。_NSToolbarAdjustedBorderedControlSizeBreakpoint で中断する
私がこのアイテムのために持っているのは、NSToolbarItem
を含むNSButton
です。ボタンの幅は 35 に設定され、高さフィールドはグレー表示され、無効になっています。囲んでいるツールバー項目の最小サイズは 35 x 25 で、最大サイズは 39 x 27 です (最小値と最大値を同じ値にしたいのですが、読み続けてください)。ツールバー項目の最小値と最大値を同じ 35 x 25、37 x 27、39 x 27 のいずれかに設定しようとしましたが、ファイルを保存して新しいファイルに切り替えた後、IB がそれらの値を独自に変更したことを確認してください。少し違うものに変更し (最大幅と高さを 2 倍に増やしたと思います)、ストーリーボード ファイルがサイドバーで暗く表示され、変更が保存されていないことを示します。保存した直後にプロジェクトを実行した場合にのみ、値は示されているとおりになります (コンソールの警告は消えます)。
各ビルドの前にこれらの値を元に戻さなければならないことに本当に腹が立っています..なぜIBは私の値を保持せず、それについて不平を言っているのですか?
cocoa - NSToolbarItem: 収まるサイズのボタン / コンテンツの優先順位を設定する
ボタンの幅に合わせてNSToolbarItem
を作成しようとしています。NSButton
ただし、ツールバー項目の最大幅を高い値 (たとえば 300) に設定し、ツールバーに十分なスペースがある場合、ボタンは常に 300 ポイントいっぱいに拡張されます。
ボタンをたとえば 300 ポイントまで大きくできるようにするにはどうすればよいですか? の中にある場合、ボタンの設定contentHuggingPriority
は無視されるようNSToolbar
です。
swift - NSToolbar - ToolBarItem にいつアクセスできますか?
NSToolbaritems
プロパティはまだ空ですwindowDidLoad
すべてのツールバー項目が読み込まれたときに呼び出される関数を探しています。ToolbarDidLoad
、またはのようなものItemsDidLoad
。