問題タブ [nstouchbar]
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 - NSWindow オブジェクトから NSTouchBar を作成するには?
touchbar サポートを SDL アプリケーションに統合しようとしています。
私は SDL の目的の C コードに入り、SDLView コードに直接ハッキングして、動作するタッチバーを取得しましたが、ストック SDL2 ライブラリで同じ機能を取得したいと考えています。SDL はそれが作成する NSWindow オブジェクトを公開します。makeTouchBar と makeItemForIdentifier を実装してレスポンダー オブジェクトを作成できると思いますが、それをウィンドウに「アタッチ」する方法がわかりません。「レスポンダーチェーン」になると思いますが、それが何を意味するのか、どのように行うのか正確にはわかりません。
私は次のものを作成しようとし、ウィンドウで setNextResponder のいくつかの異なる組み合わせを試しましたが、makeTouchBar を呼び出すための正しい組み合わせを理解できないようですが、これらを配置すると機能するので、私は正しい球場にいますビューで直接メソッド。
ありがとうございました。
objective-c - NSResponder からキー値監視通知を明示的に送信するにはどうすればよいですか?
SDL アプリケーションで NSTouchBar を作成しようとしていますが、レスポンダを NSWindow オブジェクトにアタッチする必要があります (SDL が Cocoa ウィンドウ システムに与える唯一のアクセスです)。
https://developer.apple.com/reference/appkit/nstouchbar
オブジェクトで NSTouchBarProvider プロトコルを明示的に採用する場合は、 NSTouchBar メソッド内で関連するキー値監視通知も明示的に送信する必要があります。これにより、システムはバーの変化に適切に対応できます。
それはどういう意味ですか、どうすればいいですか?通知をサブスクライブする方法についてのドキュメントはたくさんありますが、通知を送信する方法についてはわかりません。
今私は持っています:
ここで尋ねた以前の質問のコードを使用して、ウィンドウにアタッチしています: How to create an NSTouchBar from an NSWindow object?
しかし、コールバックが呼び出されることはありません (exit(0)
明確にするためにコールバックを入れています)。コードを SDL ライブラリに直接ハックすると、期待どおりに動作しますが、これは実行可能な恒久的な解決策ではありません。
ありがとうございました。
swift - オンザフライでNSTouchBarを更新して、プログラムでアイテムを追加/削除します
現在、macOS アプリケーションに NSTouchBar API を実装しています。
現時点では、私が持っている唯一のタッチ バーにはメインの View Controller がデリゲートとしてあり、項目をうまく追加できます。問題は、特定の条件が満たされた場合 (テーブルで行が選択された場合) にのみ、これらの項目の一部が表示されるようにする必要があることです。
ボタンを表示するかどうかを示すブール値があるとします。ブール値が変更された場合に、このボタンを表示/非表示にするために NSTouchBar をオンザフライで更新するにはどうすればよいですか? (このブール値を観察する必要はありません。既に実装した別のメソッドで update を呼び出すだけで済みます)
今のところ私がやったことは次のとおりです: ではtouchBar(:makeItemForIdentifier)
、すべての識別子のスイッチがあり、適切な の下で、ボタンで をcase
返すか、ブール値が である場合は.NSCustomTouchBarItem
nil
false
makeTouchBar
テーブルの行が選択された後にもう一度呼び出してみましたが、ボタンの可視性は更新されませんtouchBar(:makeItemForIdentifier)
。
ありがとう!
swift - NSTouchBar アイテムを検証する最も実用的な方法
AppKit では、メニュー項目とツールバー項目にはそれぞれ と がvalidateMenuItem(_:)
ありvalidateToolbarItem(_:)
ます。ただし、新しいタッチ バー アイテムでは、適切なアイテムを適切なタイミングで検証するための便利な方法はありません。
関連する値を変更して検証メソッドを呼び出すたびに、タッチ バー項目を検証してdidSet
います (次のサンプル コードを参照してください)。しかし、関連する値はそれに依存するタッチバーアイテムがあることを知っている必要があるため、それは良い方法ではないと感じています.
私が使用している別の方法は、Cocoa バインディングと KVO ですが、常にうまく機能するとは限りません。
したがって、特に NSButton と NSSegmentedControl を含む、タッチ バー アイテムを検証するための推奨される方法または事実上の標準の方法があるかどうかに興味があります。在庫状況だけでなく、場合によっては画像や色も変えたい。タッチバーアイテムをどのように検証しますか?
macos - 右側の Touch Bar のコントロール センターで項目を取得するにはどうすればよいですか?
アプリ TouchSwitcher は、ライトスクリーンとボリューム項目の横に項目を追加します: https://hazeover.com/touchswitcher.html
タッチバーの右側のコントロールストリップに項目を表示する解決策はありますか?
それに関する公式ドキュメントにはヘルプが見つかりません...助けてください!