在Finder之类的NSOutlineView中编辑文本

时间:2019-01-15 16:21:29

标签: cocoa nsoutlineview

如果在Finder中重命名文件,则文本字段将水平扩展到大约列的宽度。然后,它在滚动之前垂直扩展到三行。我假设这必须在大纲视图之外的文本字段中完成。而且我可以在输入时得到一个文本字段来调整大小。我只是不知道在必要时如何将其放置在轮廓视图上。如果大纲视图滚动,则将其固定在行上。有人有见识吗?谢谢!

1 个答案:

答案 0 :(得分:0)

文本编辑由专用的NSText处理,称为“字段编辑器”。此共享的单个视图用于窗口中发生的所有文本编辑。它与通常显示文本的内容(未编辑时)分开。

以下是文档: https://developer.apple.com/documentation/appkit/nswindow/1419647-fieldeditor

如docs讨论部分所述,您可以使用和自定义另一个字段编辑器。这应该是您的任务的起点。

  

通过实现windowWillReturnFieldEditor(_:to :),窗口的委托可以替代自定义字段编辑器来代替窗口的字段编辑器。自定义字段编辑器可以成为默认编辑器(所有文本显示对象通用)或特定于特定文本显示对象(对象)。

NSControl文档中还有一个有关“字段编辑器”的部分,可能会有所帮助。