我希望NSPasteboard.generalPasteboard()
暂时切换到我的应用使用NSPasteboard.pasteboardWithUniqueName()
生成的自定义
因此,当用户在切换粘贴板时按下Cmd + C / Cmd + V时,将使用我的应用程序的粘贴板而不是普通的粘贴板。
有办法做到这一点吗?
答案 0 :(得分:1)
不,没有办法做到这一点。
如果您只想更改自己应用中的行为,可以向NSPasteboard
添加类别/扩展名,以添加返回常规粘贴板或应用的私有粘贴板的方法。这至少将逻辑隔离到一个地方。在代码中的其他任何位置,您都会使用自定义方法而不是+generalPasteboard
。
如果您还想改变其他应用的行为,那么您运气不好。您尝试实现的更高级别目标是什么?为什么要更改哪些粘贴板应用程序使用?如果你解释一下,也许还有另一种方法来实现这个目标。
答案 1 :(得分:0)
是的,有可能这样做。您需要创建自己的单例,例如继承自UIPasteboard的customPasteboard,然后使用一般的Pasteboard可以返回自己的单例。 请记住,从iOS开始,然后将命名粘贴板的“ persist”属性设置为NO,这与常规粘贴板不同,它在每个会话中都保留在内存中。