cocoa - 在 NSOutlineView 中编辑文本,如 Finder
问题描述
如果您在 Finder 中重命名文件,文本字段会水平扩展至大约列的宽度。然后它在滚动之前垂直扩展为三行。我假设这必须在大纲视图之外的文本字段中完成。我可以在输入时调整文本字段的大小。我只是不知道如何在必要时将其放置在大纲视图上。如果大纲视图滚动,请将其固定在行上。有没有人有任何见解?谢谢!
解决方案
文本编辑由专门的人员处理,NSText
称为“字段编辑器”。这个共享的单一视图用于窗口中发生的所有文本编辑。它与通常显示文本的内容分开(不编辑时)。
以下是文档: https ://developer.apple.com/documentation/appkit/nswindow/1419647-fieldeditor
如文档讨论部分所述,您可以使用和自定义另一个字段编辑器。这应该是您的任务的起点。
窗口的委托可以通过实现 windowWillReturnFieldEditor(_:to:) 替换自定义字段编辑器来代替窗口的字段编辑器。自定义字段编辑器可以成为默认编辑器(所有文本显示对象通用)或特定于特定文本显示对象(对象)。
NSControl
docs 也有一个关于字段编辑器的部分可能会有所帮助。
推荐阅读
- r - R Winsorizing 不同面板数据年份中的单个变量
- python - 如何在 Python 中选择随机对话输出?
- java - 基于来自 api 的 JSON 响应设置多个 JFXtextfield 的 Javafx 问题
- entity-framework-core - 如何使用中间件和 ASP.NET Core 计算总视图
- python - 将 2 个未堆叠的 DataFrame 合并回单个 DataFrame
- android - RecyclerView 覆盖最后一个元素几次
- r - 如何从包 stringr 中使用 str_extract() 提取括号内但不包括括号内的数字?
- excel - 加速excel VBA宏
- android - 如何在 Android Studio 中从 Google 照片中的云图像中提取 GPS 元数据?
- javascript - 在 Google Optimize 中克隆对象