cocoa - windowWillReturnFieldEditor 从未调用过 NSTextView

标签 cocoa delegates nswindow nstextview

根据协议(protocol)引用,当任何文本显示对象需要字段编辑器时,应该调用 windowWillReturnFieldEditor。事实上,我的窗口委托(delegate)会收到文本字段、按钮、组合框等对此方法的调用,但不会收到 TextView 的调用。

这正常吗? NSTextView 是否带有自己的字段编辑器并且从不请求一个?或者我错过了什么?

- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject {
    if ([anObject isKindOfClass:[NSTextView class]])
        printf("\nwinWillRtnFldEdtor called for some textview."); // never happens
}

最佳答案

小老鼠。查看字段编辑器的内存地址,很明显每个 TextView 确实都有自己独特的字段编辑器(与共享公共(public)字段编辑器的文本字段不同),因此 TextView 从不请求字段编辑器,也从不调用此方法。

这很不幸,因为我需要特殊的例程来在多个不同的 TextView 激活之前设置它们。 (使用文本字段更容易做到这一点。)我能想到的最好的解决方法是向 TextView 添加类似标签的属性。

关于cocoa - windowWillReturnFieldEditor 从未调用过 NSTextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204778/

相关文章:

c# - 多播委托(delegate)是否为每个链接创建新的引用?

properties - Kotlin:如何避免委托(delegate)属性中的自动装箱(垃圾)?

objective-c - 如何防止 NSWindow 在 windowWillClose 方法上关闭?

cocoa - 同步架构版本控制

xcode - cocoa :激活窗口:shouldPopUpDocumentPathMenu:?

iphone - UITableViewDelegate 和 UITableViewDatasource 之间的区别

swift - 如何为 NSWindow 的标题栏着色

objective-c - 关闭后从数组中删除 NSWindow

xcode - 如何将值从 NSTabViewController 传递到 subview ?

cocoa - 使用 NSWorkspace 将文件移至垃圾箱不允许恢复