将多行文本粘贴到 NSScrollView 中

问题描述

我希望能够将多行文本粘贴到使用 XCode 12.3 在 Catalina 上运行的 MacOS Cocoa 应用程序(用目标 C 编写)中的控件中。我从库中添加一个 NSScrollView 控件并创建了一个 NSTextView 类型的插座。我可以输入多行文本,用回车键插入换行符,并通过插座的字符串属性检索代码中的文本。但是,如果我单击控件并尝试使用 (AppleSymbol)C 粘贴复制到剪贴板的多行数据,则不会粘贴任何文本。是否可以将多行数据粘贴到 NSScrollView 中?

解决方法

问题是默认不支持复制/粘贴功能。但是,Alex

指向的 Willeke 的其中一个响应中描述了一个简单的修复
Create a menu (e.g. "Edit") which contains your Cut / Copy / Paste menu items
Add the KeyEquivalent for the CMD key to your "Edit" menu
Add the KeyEquivalents to these menu items (CMD + X and so on)
Link the FirstResponder's cut: copy: and paste: functions to your corresponding menu items. 

First Responder 功能与菜单项的链接是通过右键单击 Placeholders->First Responder(显示在查看界面资源中 - 例如 MainMenu.xib)来完成的。这会显示一长串函数,包括您刚刚添加的函数。将其拖到一侧,然后单击对象-> 主菜单-> 并选择编辑-> 菜单,然后选择您添加的菜单项之一。这将在界面窗口内的应用程序中显示新菜单。通过为剪切、粘贴或复制的第一响应者功能选择 + 并按住 ctrl 拖动到界面窗口中的相应界面菜单项上来完成链接。一条蓝线将它们连接起来。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...