根据协议(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/