問題タブ [nsdraggingitem]
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.
macos - ドラッグアンドドロップされた画像をドラッグの途中でどのように変更しますか?
したがって、オブジェクトを1つのソースから複数の潜在的な宛先にドラッグしたいと思います。オブジェクトが各宛先の上にあるとき、私はそれを別の画像に「モーフィング」したいと思います。NSDragSourceの観点からこれを行う簡単な方法はありますか?
cocoa - NSOutlineView ドラッグ画像
ビューおよびデータソース ベースの から項目をドラッグするときに使用する画像を変更したいのですNSOutlineView
が、フックが見つからないようです。改造してみた
rowViews、tableCellViews、およびNSOutlineView
それ自体のサブクラスにありますが、役に立ちません。
デフォルトの画像(明らかにtableCellViewの画像とテキストフィールドから取得されたもの)がどこから来ているか知っている人はいますか?
macos - NSPasteboardItemDataProvider を使用して NSDraggingSession でメイン スレッドをブロックしないようにする
Mac OS X アプリ (Cocoa) で、NSDraggingSession
. はNSDraggingItem
、 protocol を実装するオブジェクトを使用してNSPasteboardItemDataProvider
、ユーザーがデータをドロップしたときにデータを提供します。
画像を扱っているので、関連するタイプはNSPasteboardTypePNG
、kPasteboardTypeFileURLPromise
、kUTTypeFileURL
、com.adobe.photoshop-image
およびpublic.svg-image
です。これらの画像は遠隔地にあるため、ペーストボードに提供する前に、インターネットからダウンロードする必要があります。
- pasteboard(pasteboard:item:provideDataForType:)
次のような方法でメソッドを実装します。
要求されたタイプが の場合、
kPasteboardTypeFileURLPromise
貼り付け場所を取得し、将来ファイルが書き込まれる予定の場所を含む URL 文字列をペーストボードに作成して設定します。要求されたタイプが の場合、
kUTTypeFileURL
ファイルをダウンロードし、一時的な場所を指定して、ダウンロードしたファイルをその場所に書き込みます。次に、場所の URL 文字列をペーストボードに設定します。要求されたタイプが他のタイプの場合、ファイルをダウンロード
NSData
してペーストボードにプレーンを設定します。
これらの操作はすべてメイン スレッドで実行されるため、解消したい遅延が発生します。
これらの操作をバックグラウンド スレッドで実行し、メイン スレッドに戻ってペーストボードに最終データを設定しようとしましたが、メソッドが前に終了するため、これは機能しません。
誰もそれを達成する方法を知っていますか?