我有一個NSBroswer帶有一系列查找文本blob的條目。如果斑點存在,則 - (BOOL)browser:canDragRowsWithIndexes:inColumn:withEvent:
返回YES。NSBrowser填充NSPasteboard,但不會丟棄
這將調用 - (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時,沒有任何東西掉下來。我沒有看到目標文件的亮點。 (注:我也有一個拖放圖像例程,我看到拖動圖像)
任何想法,爲什麼我似乎填充粘貼板,但它拒絕放棄在其他應用程序?
您的瀏覽器是否爲這些類型調用'registerForDraggedTypes'? – unixo 2012-08-21 14:18:47
不,但是再次,我不想拖動(放置)瀏覽器,我想從瀏覽器拖放到(拖放)另一個應用程序。 – 2012-08-21 15:06:54
對不起,誤會。順便說一句,我下載了示例項目SimpleBrowser,添加了'[_browser setDraggingSourceOperationMask:NSDragOperationAll forLocal:NO];'在awakeFromNib中,並且實現了幾乎部分代碼,它可以與TextEdit,Safari和Word一起工作 – unixo 2012-08-21 15:52:36