问题标签 [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.
cocoa - 如何在没有代理对象的情况下从 NSArrayController 获取选定的对象?
我正在尝试在NSTableView
由NSArrayController
. 我的copy:
方法如下所示:
当我尝试执行复制时,访问控制器的选择时出错,因为它返回一个代理对象:
如何获得实际选定的对象?
objective-c - 如何知道另一个 Cocoa 应用程序何时粘贴您放入通用粘贴板的项目
在 Mac OS X 应用程序 (Cocoa) 中,我将一个项目复制到通用 pasteboardNSPasteboard.generalPasteboard()
中。该项目利用实现协议的对象,NSPasteboardItemDataProvider
在用户使用另一个应用程序粘贴数据时提供数据。
根据目标应用程序选择的类型,可以完成一些临时工作(如将文件写入临时文件)。
有没有办法检测此操作何时完成或取消,所以我可以在之后进行一些清理(如删除先前创建的临时文件)?
例如,我使用相同的数据提供程序进行拖动复制/粘贴操作。采用NSDraggingSource
协议,我实现了
- draggingSession:endedAtPoint:operation:
知道何时进行清洁的方法。
macos - 避免使用 NSPasteboardItemDataProvider 阻塞 NSDraggingSession 中的主线程
在 Mac OS X 应用程序 (Cocoa) 中,我使用NSDraggingSession
. 使用NSDraggingItem
实现协议的对象,NSPasteboardItemDataProvider
在用户丢弃它时提供数据。
当我处理图像时,所涉及的类型是:NSPasteboardTypePNG
、、、和。这些图像位于远程位置,因此在将它们提供给粘贴板之前,我必须从 Internet 下载它们。kPasteboardTypeFileURLPromise
kUTTypeFileURL
com.adobe.photoshop-image
public.svg-image
我实现了- pasteboard(pasteboard:item:provideDataForType:)
这样的方法:
如果请求的类型是
kPasteboardTypeFileURLPromise
,我将获取粘贴位置,并在粘贴板中构建并设置 URL 字符串,其中包含将来应该写入文件的位置。如果请求的类型是
kUTTypeFileURL
,我下载文件,指定一个临时位置并将下载的文件写入该位置。然后,我在粘贴板中设置了该位置的 URL 字符串。如果请求的类型是其他类型之一,我下载文件并
NSData
在粘贴板中设置纯文本。
所有这些操作都在主线程上执行,产生了一些我想摆脱的滞后。
我尝试在后台线程上执行这些操作,然后返回主线程在粘贴板中设置最终数据,但这不起作用,因为该方法之前完成。
有谁知道实现它的方法?
macos - 如何在 mac 应用程序中通过快捷方式(Command + V)观察粘贴事件
在我的 mac 应用程序中,我需要观察从粘贴板粘贴的快捷方式,然后会记录一些内容。
这可能吗?怎么做?
感谢您提供任何线索。
excel - 将数据写入 NSPasteboard 并粘贴到 Excel 按列和行拆分
关于 Swift 对 NSPasteboard 的使用。我想编写一个 OS X 程序来复制 NSTableView 数据并将其粘贴到按行和列拆分的 Excel 中,以匹配 Excel 格式。当前代码:
我不知道如何调整 NSPasteboard 中的 NSPasteBoardWriting 数据以插入 ASCII 或 ???
copy - 使用 Swift 复制选定的文本
我正在 OS X 中编写一个弹出菜单栏应用程序。
目标是将当前活动应用程序(不是我的弹出窗口)的选定文本复制到我的应用程序中,以便我可以将其用作字符串。
cocoa - 带有 RTF/RTFD 更改字体的 NSPasteboard
我正在开发一个将图像与文本粘贴在一起的实用程序。到目前为止,我发现做到这一点的最好方法是NSPasteboard
在 RTFD 数据流中使用和封装图像和文本。我遇到的问题是,即使我没有字体属性(我已经检查过),每次我将复制的代码粘贴到文档中时,它都会将字体更改为“Helvetica size 12”。是否可以在不更改字体的情况下强制粘贴文本和图像?
macos - 将 Automator 操作拖放到 AMWorkflowView
2010 年有人提交了一个错误: http ://www.openradar.me/7582817
实际上,如果您将自动操作从 Finder 拖放到可编辑的AMWorkflowView
,它不会添加该操作,而是添加一个新的“获取指定的查找器项目”操作。
我碰巧NSTableView
列出了一些可以从表格视图拖到其他视图的操作。在它的右边是一个AMWorkflowView
应该是拖动目的地的地方。一切都已实现并且工作正常,除了这里也添加了“获取指定的查找器项目”操作而不是拖动操作本身。
打印AMWorkflowView's
-registeredDraggedtypes
输出此列表:
[“ApertureImageDataPboardType”、“CalUUIDPasteboardType”、“AlbumDataListPboardType”、“CorePasteboardFlavorType 0x6974756E”、“ABGroupsUIDsPboardType”、“CorePasteboardFlavorType 0x4F69646E”、“NSFilenamesPboardType”、“AutomatorActions”、“com.apple.Automator.RunScript.source”、“Apple URL”粘贴板类型”、“com.apple.mail.PasteboardTypeAutomator”、“ApertureFolderDataPboardType”、“NSStringPboardType”、“CorePasteboardFlavorType 0x4870666C”、“AutomatorVariables”、“ImageDataListPboardType”、“操作错误”、“ABPeopleUIDsPboardType”]
似乎“AutomatorActions”板类型是相关的,但由于缺乏文档,我无法弄清楚如何使我的应用程序工作。有什么有用的信息吗?在Apple 的 Automator 文档中找不到任何有意义的东西......并且NSPasteBoard
通过归档AMBundleAction
来设置数据NSKeyedArchiver
也不起作用。
swift - 如何将文件夹/目录项从 NSOutlineView 拖到 Finder 或 Xcode 等应用程序中
我创建了一个大纲视图表,它显示了我的磁盘(文件系统)层次结构,类似于 Apple 的这个示例:
现在我希望能够将文件/文件夹从我的大纲视图拖到其他接受 drop 的应用程序,如 Finder、Xcode、iTunes 等。这些是我为 NSou 的数据源实现的功能
我目前在控制台中收到此错误
最后这是我所拥有的截图 - NSOutlineView 显示文件系统
xcode - 复制通用NSPasteboard的完整内容
我需要将通用 NSPasteboard的完整内容复制到具有指定名称的粘贴板上。我试过这段代码:
我正在使用此代码进行检查。
因此,我使用 IWork Pages 进行了测试,它适用于文本和属性文本。但是,当我尝试使用文本和图像运行时,程序只是复制并粘贴文本。此外,我尝试仅使用图像运行,它也可以。你能告诉我如何将我的代码用于任何类型的数据吗?谢谢。