問題タブ [nsdragginginfo]

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

cocoa - NSTextField のドラッグアンドドロップを無効にする方法は?

NSTextField に何かをドロップすることを禁止したいです。私のアプリでは、ユーザーは iCal イベントを GUI の別の部分にドラッグ アンド ドロップできます。テスト ユーザーが誤って iCal イベントをテキスト フィールドにドロップしてしまいましたが、彼はこれに気付きませんでした。テキストが 1 行のテキスト フィールドに表示されている行よりも上の行に挿入されているためです。

(テキスト フィールドをクリックし、キーボードを使用して 1 行上に移動すると、挿入されたテキストを表示できます。 !)

私は試しましたregisterForDraggedTypes:[NSArray array]](効果がないようです)だけでなく、draggingEntered:返されるデリゲートメソッドを実装しましたNSDragOperationNone(デリゲートメソッドは呼び出されません)。

何か案は?

編集:もちろん、何かを NSTextField にドロップすると、フォーカスがある場合にのみ機能します。これは、sspのブログDaniel Jalkut のブログ エントリへのコメントで説明されています。

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

objective-c - Objective-cでのプロトコルの定義と使用

NSImageViewを拡張して、ドラッグアンドドロップの責任をコントローラーに委任できるようにしようとしています。コンパイラがタイプIDのオブジェクトへのメッセージの送信に関する警告を表示するという1つの問題で、すべて正常に機能します。これを解決するには、ivarのタイプにプロトコルの名前の接尾辞を付けるだけでよいと思いました。ただし、これは、プロトコルの定義が見つからないというメッセージで惨めに失敗します。

私が間違っているかもしれないポインタはありますか?単純なものに違いないと思いますが、私はobj-cを初めて使用します。

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

objective-c - ドラッグアンドドロップはNSBoxのサブクラスでは機能しません

ドラッグアンドドロップを実装するためにNSBoxのサブクラスを作成しました。私は次のコードを持っています:

ただし、ドラッグアンドドロップは機能しません。ボックスに何かをドラッグしようとすると、小さな緑色のプラスが表示されません。

ありがとう

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

cocoa - obj-c で「.txt」ファイルをドラッグ アンド ドロップする方法

私は、プレーンな「dot.txt」ファイルを NSWindow にドラッグしてデータを読み込むことができる、絶対に必要最低限​​ のコードを書き込もうとしています(それ以上のことはありません)が、私が見つけたすべての例は画像や NSViews など..Apple の「Cocoa のドラッグ アンド ドロップ プログラミング トピック」ドキュメントの「ファイル コンテンツのドラッグ」セクションでは、プレーンな NSWindow (NSView などではなく) へのドラッグが可能であることを確認しており、私が何をしているのかを正確に説明しているようです。やろうとしていますが、比較的初心者なので、画像やフレームへの参照はまだ混乱しています.

「initWithFrame」または「initWithCoder」メソッドと、登録するタイプを言う以外に、「registerForDraggedTypes」をどこに置くかを教えてくれる人がいますか? ウィンドウがドラッグを認識したら、後で他の「performDragOperation」と「draggingEntered」について心配することができます。

ありがとう :-)

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

objective-c - NSDraggingInfoなどを使用してドラッグ操作がキャンセルされたかどうかを検出するにはどうすればよいですか?

NSImageViewのサブクラスを作成し、同じクラスの他のインスタンス間で画像をドラッグするための非公式のプロトコルを実装しました。ドラッグ操作の前にビューの画像への参照を保持しており、特定の基準を指定して、ビューをその画像に戻すことができます。

しかし、ドラッグ操作がキャンセルされたかどうかを検出できないようです。draggingEndedメソッドが呼び出されることは知っていますが、ドラッグが成功したときにも呼び出されます。何か案は?

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

cocoa - NSTableViewドロップアプリファイル、何が問題になっていますか?

アプリファイルをテーブルビューにドロップするのをサポートする次のコードがあります。問題は、ドラッグアンドドロップしたときに緑色の+が表示されないことです。それは何か関係があると思いますがregisterForDraggedTypes:、よくわかりません。私は多くのチュートリアルを試しましたが、どれもうまくいきませんでした。

前もって感謝します

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

objective-c - Cocoa WebView ドラッグアンドドロップ


私のアプリケーションでは、いくつかのファイルのリストと 1 つの WebView を持つ 1 つの NSOutlineView があり、
ユーザーは任意のアイテムを Outline ビューから WebView にドラッグできます。その上で、データベース トランザクションを処理することを想定しています。

Outline ビューでは、次のメソッドを実装しました。

WebView 側では、次のメソッドを実装しました。

Outline ビューから WebView に要素をドラッグすると、Outline ビューの writeItem が呼び出さ
れ、Webview では DragEnter がどこから呼び出されているかがわかりました。ドラッグ操作 NONE を返すのではなく、NSDragoperationEvery を返します。

問題は、メソッド、prepareForDragOperation および PerformDragOperation を取得していないことです。

誰でも私を助けてくれませんか、
よろしく
ローハン

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

objective-c - ドラッグ先として NSStatusItem を使用する方法は?

ユーザーがファイルを Finder からメニューバー アイコンにドラッグして処理できるようにするアプリケーションを構築しようとしています。旅は進みましたが、この丘を登ることはできないようです。NSView をサブクラス化し、ドラッグ メッセージを実装してみました。

ドラッグ操作を受け入れるだけでなく、ユーザーがアイコンをクリックしたときに NSMenu を提供したいと考えていました。NSMenu を適切に表示することはできましたが、ドラッグ機能はわかりにくいままです。

ここで行った受け入れられたドラッグタイプを登録する必要があることは私の理解です:

ドラッグ メッセージ:

カスタムビューが設定されているコードは次のとおりです。

まだ何もありません。では、どこで間違ったのでしょうか。

ありがとう!

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

objective-c - NSTableViewでドラッグアンドドロップが機能しない

アプリケーションにドラッグアンドドロップ機能を実装しました。すべての機能は良好ですが、画像をにドラッグするとNSTableView

メソッドが呼び出されていません。

このメソッドが呼び出されない理由を誰かに教えてもらえますか?

これも実装しても…

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

objective-c - ドラッグ アンド ドロップ — 受け入れられるフォルダのみ

フォルダーのドロップを受け入れる必要があるカスタム ビューを作成しています。条件は、ディレクトリのみが受け入れられるため、ユーザーがファイルをドラッグしても何も起こらないことです。

ビューを次のように登録しました。

また、基本的なドラッグ プロトコル メソッドは既に実装されています。テスト目的:

したがって、ほぼ正しく動作します。ビュー上をドラッグすると、カーソルにプラス記号が表示されます。ただし、アイテムが通常のファイルの場合は避けたいと思います。

ドラッグしたパスを取得したら、おそらく NSFileManager でそれを行う必要がありますが (もっと簡単な方法があるのではないかと思います)、問題はどこにあるかです。NSDragOperationNonedraggingEntered:を返すメソッドにテストを含めようとしましたが、成功しませんでした。私はAppleのドキュメントのスニペットに従っています:

このテストをどこに実装すればよいのでしょうか?ファイルがドラッグされてもカーソルは同じままになりますか?