我有一个包含一系列条目的NSBroswer,用于查找文本blob。如果blob存在,则- (BOOL)browser:canDragRowsWithIndexes:inColumn:withEvent:返回YES。
这将调用- (BOOL)browser:writeRowsWithIndexes:inColumn:toPasteboard:
在这里,我执行以下操作:
NSUInteger changeCount;
BOOL retBOOL = YES;
changeCount = [pasteboard clearContents];
changeCount = [pasteboard declareTypes:@[NSPasteboardTypeString, NSPasteboardTypeHTML]
owner:self];
didSet = [pasteboard setString:self.currentHTMLCode
forType:NSPasteboardTypeString];
retBOOL = retBOOL & didSet;
didSet = [pasteboard setString:[NSString stringWithFormat:@"<pre>%@</pre>", self.currentHTMLCode]
forType:NSPasteboardTypeHTML];
retBOOL = retBOOL & didSet;现在粘贴板的数据分析出来(使用retBOOL:是)是:
pasteboard: : <NSPasteboard: 0x101931870>
name: : Apple CFPasteboard drag
change count: : 77
types: : (
"public.utf8-plain-text",
NSStringPboardType,
"public.html",
"Apple HTML pasteboard type"
)
items: : (
"<NSPasteboardItem: 0x1005a5cb0>"
)
PBItem: : <NSPasteboardItem: 0x1005a5cb0>
PBType: : public.utf8-plain-text
String for type [public.utf8-plain-text] = 89958 characters
PBType: : public.html
String for type [public.html] = 89969 characters
retValue: YES所以我的问题是,当我把它拖到SimpleText或BBEdit上时,什么也不会掉下来。我没有看到目标文档的高亮显示。(注意:我还有一个拖动图像例程,我看到了拖动图像)
你知道为什么我似乎在填充粘贴板,但它拒绝在其他应用程序中插入吗?
发布于 2012-08-22 14:54:14
我下载了苹果公司的示例项目SimpleBrowser,添加了
[_browser setDraggingSourceOperationMask:NSDragOperationAll forLocal:NO];
在awakeFromNib中实现了几乎你的代码的一部分,它可以与TextEdit,Safari和Word一起工作。下面是示例code
https://stackoverflow.com/questions/11978288
复制相似问题