ドラッグされた項目をNSMutableArrayに追加するには、ドロップダウンを受け入れるNSButtonがあります。 NSMutableArray内のすべての項目をドラッグするためにNSButtonからドラッグするにはどうすればよいですか?MacOS LionのNSButtonからドラッグを作成する方法
答えて
これを行うには、NSViewメソッドdragImage:at:offset:event:pasteboard:source:slideBack:を使用してドラッグを開始する方法があります。カスタムボタンクラスではmouseDown:をオーバーライドし、そのメソッドを呼び出します。私はドラッグされた画像がボタンの画像で、ドラッグしているデータが文字列 "ARRAY"であるという例を書いた。それはソース側から行う必要があるはずのことでなければなりません。あなたが目的地にドロップするとき、ドロップされたものが文字列 "ARRAY"であるかどうかを調べることができます。そして、あなたが作成した配列あなたの最初のドロップと。私は自分のボタンにNSMultipleDocumentsイメージを使用し、ボタンの外にドラッグすると消えます。
- (void)mouseDown:(NSEvent *)theEvent {
NSImage *pic = self.image;
NSSize dragOffset = NSMakeSize(0.0, 0.0);
NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
[pboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:self];
[pboard writeObjects:[NSArray arrayWithObject:@"ARRAY"]];
NSPoint btnMiddle = NSMakePoint(self.frame.size.width/2,self.frame.size.height/2);
NSPoint picOrigin = NSMakePoint(btnMiddle.x - pic.size.width/2, btnMiddle.y + pic.size.height/2);
self.image = nil;
[self dragImage:pic at:picOrigin offset:dragOffset event:theEvent pasteboard:pboard source:self slideBack:YES];
}
これはうまくいっていますが、1つの問題があります。これで、ボタンをクリックして 'clickAction'を呼び出すことはできません。 – Kira
私は[super mouseDown:theEvent]を追加しようとしましたが、それはうまくいきましたが、たびにうまくいくように見えました(ドラッグの代わりに最初にクリックすると画像が消えます)。なぜあなたはボタンにアイテムをドラッグしたいのですか?それは私には奇妙なものですね。 – rdelmar
ボタンはテーブル付きのウィンドウを開きます(ドラッグアンドドロップをサポート)。しかし、私はまた、このウィンドウを開かずにボタンをドラッグ&ドロップしたいと思っています。 ARRAYコンテンツの表示に使用されるテーブル。 – Kira
- 1. ドラッグ可能なNSButton
- 2. NSButtonのグリッドを作成するループ?
- 3. Mountain Lion 10.8のFinderで「ダウンロード」アイコンを作成する方法は?
- 4. Mac OS X Lionで細いスクロールバーを作成する方法
- 5. NSButtonからNSButtonをストーリーボードで開く
- 6. ドラッグ&ドロップHTMLファイルリーダーの作成方法
- 7. NSButtonからのNSEvent
- 8. カルーセルからビューをドラッグする方法
- 9. テーブル内のドラッグ・セルを作成する方法
- 10. NoClassDefFoundError MacOSアプリケーションバンドルを.jarから作成する場合
- 11. どのようにカスタムテーマNSButtonを作成しますか?
- 12. mapbox android sdk - ドラッグ可能なマーカーを作成する方法
- 13. TinyMceでカスタムブロックを作成してドラッグ可能にする方法
- 14. リアクタネイティブ - ドラッグ可能なホバリング要素を作成する方法
- 15. NSButtonは背景色を設定しました。macOS 10.12
- 16. MacOSのアプリケーションカラーメーターから値を取得する方法は?
- 17. macOSでCタイマーを作成する
- 18. macOS:.app bundleを作成する
- 19. MacOSでJSONPを作成するには?
- 20. Appleのアドレス帳からMac OS X LionのアプリにvCardをドラッグできない
- 21. レールビューにドラッグ&ドロップテーブルを作成するより良い方法は何ですか?
- 22. Swift MacOSのボタンの操作方法
- 23. 1つのvimウィンドウから別のMacOSにコピーする方法
- 24. OSXのコピーから「移動」ドラッグ操作を区別する方法
- 25. データベースからのレコードからナビゲーションリンクを作成する方法
- 26. macOS Sierraからdotnet coreをアンインストールする方法
- 27. コマンドライン(MacOS)からAFP共有をリストする方法は?
- 28. Swift 3とMacOS:ディスクから直接ファイルをロードする方法
- 29. ドラッグビューのドラッグ&ドロップを作成
- 30. カーソルがあるときNSButtonのタイトルを変更する方法
詳細を教えてください。ボタンにアイテムをドロップした後、それらを配列に取得する方法を知りたいのですか、ボタンの中にドラッグする方法を尋ねていますか? – rdelmar
私はすでにそれらをドロップ後に配列に入れています。私はそれらをボタンから戻す方法を知らない。 – Kira