【问题标题】:Edit text in NSOutlineView like Finder像 Finder 一样在 NSOutlineView 中编辑文本
【发布时间】:2019-01-16 21:01:30
【问题描述】:

如果您在 Finder 中重命名文件,文本字段会水平扩展至大约列的宽度。然后它在滚动之前垂直扩展为三行。我假设这必须在大纲视图之外的文本字段中完成。我可以在输入时调整文本字段的大小。我只是不知道如何在必要时将其放置在大纲视图上。如果大纲视图滚动,请将其固定在行上。有没有人有任何见解?谢谢!

【问题讨论】:

    标签: cocoa nsoutlineview


    【解决方案1】:

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

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

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

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

    NSControl docs 也有一个关于字段编辑器的部分可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2018-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      相关资源
      最近更新 更多