问题标签 [nspasteboard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 保持 kPasteboardTypeFileURLPromise 时的错误处理
我的 Mac 应用程序应该允许拖放 kPasteboardTypeFileURLPromise 以从粘贴板获取文件承诺。
据我了解,每个 NSPasteboardItem 的可用类型都应该有 kPasteboardTypeFileURLPromise 。
与由拖动目标处理的 NSURL 不同,kPasteboardTypeFileURLPromise 由拖动源写入到由拖动目标设置的目标位置。
但是,当源未能履行承诺时,似乎无法将错误及其用户信息传递给目标以进行恢复(例如 NSRecoveryAttempterErrorKey 等)。
拖动 kPasteboardTypeFileURLPromise 时处理错误的最佳做法是什么?它们应该由拖动源处理吗?
与目标处理错误的拖动 NSURL 相比,它可能会导致一些不一致。
macos - kPasteboardTypeFileURLPromise 源示例
Apple 的哪个应用程序支持拖动 kPasteboardTypeFileURLPromise 项?
我正在实现一个 kPasteboardTypeFileURLPromise 拖动目标,我想针对可以信任的拖动源对其进行测试。
(Finder是拖动目的地的一个例子,但我正在寻找一个拖动源)
macos - NSPasteBoard 通过 DragAndDrop 从 Dock 中的下载(网格视图)获取文件到应用状态栏图标
我在我正在开发的可可应用程序中实现了拖放功能。当我从文件夹或桌面或硬盘驱动器上的任何特定位置将文件拖放到我的应用程序的状态栏图标上时,应用程序会适当地检测到它,我可以毫无问题地使用该文件一点也不。
我遇到的问题是,如果我单击 Dock 中的“下载”图标(它在网格视图中打开)并从那里选择一个文件并将其拖放到状态栏,则该应用程序根本不会检测到它。在这种情况下甚至没有调用“performDragOperation”。我认为这是因为下载网格不是特定位置,而是桌面上显示的下载文件夹的表示。
这是我注册 Drag 类型的地方:
}
这是 draggingEntered 方法:
}
任何帮助,将不胜感激。谢谢你。
objective-c - NSOutlineView 拖动承诺与目录
在拖动到 Finder 时,如何实现NSOutlineViewDataSource
允许拖动文件系统中不存在的目录?我搜索并阅读了大量文档,但很难找到任何有价值的东西。我使用一个自定义数据源来管理类似文件系统的树,所有项目都是跟踪其路径的类的实例。我希望能够将文件和目录从大纲视图中拖到 Finder 中。
我有:
并实现-outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:
将项目写入给定路径内。这样做的原因是我可以将项目拖到 Finder 中,但是当我放手时,什么也没有发生,-...namesOfPromisedFilesDropped...
甚至没有调用该方法。还,
在我的-awakeFromNib
. 这if (extension.length > 0) ...
是基于我在某处找到的一个示例,但它已经过时了,并且文档说要返回一个扩展名,所以我认为这是合适的。就个人而言,我发现整个领域的文档非常缺乏,尤其是关于NSOutlineView
. 谢谢!
objective-c - 将 NSDictionary 写入 NSPasteboard
我有一个字典,其中包含NSData
格式的图像、图像的大小以及图像的其他属性。我怎样才能NSDictionary
写到NSPasteboard
?
我写的代码如下:
编译后,它会在控制台中抛出以下消息:
class __NSDictionaryM
对无效的实例NSPasteboard -writeObjects:
。class __NSDictionaryM
不实现NSPasteboardWriting
协议。
objective-c - 如何在 OS X 上以编程方式粘贴?
我一般都能接触到NSPasteboard
。我在粘贴板上写了我的NSData
.
现在我想以编程方式粘贴。文本光标在另一个应用程序中的正确位置闪烁。按 ⌘ + V 有效。
有人知道怎么做吗?也许如何以编程方式调用快捷方式粘贴?
objective-c - 如何将 NSAttributedString 转换为 NSData?
我有一个NSAttributedString
我想写回粘贴板的内容。
一般 NSPasteboard
有不同的类型,带NSAttributedString
附件的确实适合NSPasteboardTypeRTFD
我知道如何写入粘贴板:
但是如何从给定的NSAttributedString
两个RTF NSData转换(然后应该适合粘贴板可读的类型)?
cocoa - 从发件人应用程序获取 NSServices 信息时获取文本的位置(坐标)
这是代码工作正常,以便通过实现 NSServices 从另一个任何其他应用程序接收和返回一个 NSString,如下所述:https ://developer.apple.com/library/mac/documentation/cocoa/conceptual /SysServices/Articles/properties.html
有没有办法获取发件人应用程序具有所选文本的位置、位置和/或坐标,以便在该位置准确显示弹出窗口?
html - 将 HTML 数据写入 NSPasteboard
我正在尝试将 html 数据复制到 MAC 上的剪贴板。但是当我使用(Finder-> Edit Menu -> Show clipboard)检查剪贴板时,它什么也没显示。我希望按原样粘贴格式化的数据。以下是我正在使用的代码:
我将不胜感激。谢谢!
更新:
为了在剪贴板中获取 html 格式的字符串,我尝试将其转换为属性字符串,然后从属性字符串转换为 rtf 数据,它将数据完美地设置为剪贴板,但是当我尝试将数据粘贴到 html 编辑器(http:// htmleditor.in/)它会丢失一些格式,如颜色。
粘贴到 html 编辑器时如何保留颜色?文本在剪贴板上显示为颜色,那么为什么它没有在 html 编辑器(http://htmleditor.in/)上粘贴颜色?
macos - 重现 Mac Mail / TextEdit 交互
TextEdit 对从 Mac Mail 应用程序中拖出的消息进行了很好的处理——主题行作为超链接传输,单击该超链接会在 Mail 中打开原始消息。有什么想法可以在我的应用程序中做同样的事情吗?NSPasteboard 运气不佳;数据似乎没有像 NSURL 或 NSString 那样传输。不过,我不认为数据是完全模糊的,因为将邮件消息拖到 Microsoft Word 确实会通过文件 URL 传输,尽管该 URL 没有成功打开。