0

我想知道是否有人知道是否可以使用菜单栏命令修改多个 NSTextView。例如,如果用户从菜单栏中选择“粗体”,则选择的不同 NSTextView 会更新其所有内容以显示粗体。

这是我的设置:

@interface MyCustomTextField : NSView <NSTextViewDelegate>{
    NSTextView *textView;
    BOOL selected;
    ...
}

所以基本上我有自己的自定义类,并且在每个自定义类中我都有一个 NSTextView、一个决定是否选择此视图的 var 以及其他一些东西。

我可以选择多个字段,但是从我在 Apple 文档中阅读的内容中,窗口中的每个 NSTextView 都共享一个字段编辑器。当用户编辑 NSTextView 时,他们实际上是在向字段编辑器发送命令,该编辑器对其进行处理并将其路由到 NSTextView。如果是这种情况,这是否意味着我需要创建自己的自定义字段编辑器并将命令路由到所有自定义选择的文本类?

==编辑==
我的 CustomTextField 类有一个名为“selected”的变量(见上文),通过按住 shift 或 apple 键,我可以“选择”多个 CustomTextField 实例(我在 NSTextView 实例前面放置了一个掩码它捕获 mouseDown 消息)。

所以通过这个选择,多个实例的“selected”属性设置为true。至于窗口的第一响应者,它将被设置为在所有 NSTextView 周围显示蓝色光环的掩码。

我想知道我是否可以告诉应用程序接受默认的 NSTextView 命令(例如粗体、斜体等),并且如果我提供自定义字段编辑器,它会将所有适当的消息传递给选定的 CustomTextFields 然后传递把它放到 NSTextViews 上。

在我的脑海中,消息会这样传递:

用户提交文本工具栏命令>自定义字段编辑器> MyCustomTextField > NSTextView

希望我的解释是有道理的,或者我现在在 LaLa 土地上。

4

0 回答 0