首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSBrowser填充NSPasteboard,但不会丢弃

NSBrowser填充NSPasteboard,但不会丢弃
EN

Stack Overflow用户
提问于 2012-08-16 06:32:23
回答 1查看 446关注 0票数 2

我有一个包含一系列条目的NSBroswer,用于查找文本blob。如果blob存在,则- (BOOL)browser:canDragRowsWithIndexes:inColumn:withEvent:返回YES。

这将调用- (BOOL)browser:writeRowsWithIndexes:inColumn:toPasteboard:

在这里,我执行以下操作:

代码语言:javascript
复制
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:是)是:

代码语言:javascript
复制
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上时,什么也不会掉下来。我没有看到目标文档的高亮显示。(注意:我还有一个拖动图像例程,我看到了拖动图像)

你知道为什么我似乎在填充粘贴板,但它拒绝在其他应用程序中插入吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-22 14:54:14

我下载了苹果公司的示例项目SimpleBrowser,添加了

[_browser setDraggingSourceOperationMask:NSDragOperationAll forLocal:NO];

在awakeFromNib中实现了几乎你的代码的一部分,它可以与TextEdit,Safari和Word一起工作。下面是示例code

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11978288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档