2

OS X Finder からコンテンツを にドラッグすることについて、この質問を投稿しましたNSTableView。これですべてうまくいきます。ただし、ブラウザーのアドレス バーからアプリに URL をドラッグする場合は、まずそれらをデスクトップ (.webloc ファイルとして表示される場所) にドラッグしてから、アプリにドラッグする必要があります。

最初にデスクトップにドラッグすることなく、ブラウザのアドレスバーからアプリに直接ドラッグする方法はありますか?

登録しようとしkUTTypeURLましたが、ドラッグされた URL が元の場所に戻ってしまうため、うまくいかないようです:

[[self sourcesTableView] registerForDraggedTypes:[NSArray arrayWithObjects: (NSString*)kUTTypeFileURL, (NSString*)kUTTypeURL, nil]];
4

1 に答える 1

0

他の質問に対する私の受け入れられた回答では、私が提供したコードは、アプリが受け入れることができるURLをファイルURLに具体的に制限します。

NSArray* urls = [pb readObjectsForClasses:[NSArray arrayWithObject:[NSURL class]]
 options:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] 
                                     forKey: NSPasteboardURLReadingFileURLsOnlyKey]];

YESのブール値を含むオプション辞書に注意してくださいNSPasteboardURLReadingFileURLsOnlyKey

任意のURLを受け入れる場合は、次のようにします。

NSArray* urls = [pb readObjectsForClasses:[NSArray arrayWithObject:[NSURL class]]
                                  options:nil];

または、さらに良いことに、特定のタイプ(この場合は画像)である限り、任意のURLを受け入れるように要求できます。

NSArray* acceptedTypes = [NSArray arrayWithObject:(NSString*)kUTTypeImage];
NSArray* urls = [pb readObjectsForClasses:[NSArray arrayWithObject:[NSURL class]]
                                  options:[NSDictionary dictionaryWithObject:acceptedTypes 
                                   forKey:NSPasteboardURLReadingContentsConformToTypesKey]];
于 2012-04-25T23:56:26.200 に答える