如何从拖动中获取所选文本?

时间:2014-05-15 15:55:59

标签: objective-c macos cocoa

要从文件中检测文件名,我使用下面的代码成功。

文件.h:

@interface DropView : NSView <NSDraggingDestination>

文件.m

init:

[self registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]];

我实现了像这样的协议

- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender {

    NSLog(@"%@", [[sender draggingPasteboard] propertyListForType:NSFilenamesPboardType]);


}

当我拖动一些文字时它返回Null。 (突出显示文字并从其他应用中拖出)

我试图改变代码 propertyListForType:NSFilenamesPboardTypepropertyListForType:NSStringPboardTypepropertyListForType:NSPasteboardTypeString

但没有运气。

请帮助我如何只获取所选文字?

谢谢。

我找到了解决方案,只需从发件人声明NSPasteboard并获取类型为NSStringPboardType的字符串

NSPasteboard *pboard = [sender draggingPasteboard];
NSString *string = [pboard stringForType:NSStringPboardType];

啦啦队!!

0 个答案:

没有答案