我有一个NSTextView,我想用它作为NSTextField的字段编辑器。
由于视图中还有其他NSTextField不使用自定义字段编辑器,我似乎应该使用NSCell的方法
- (NSTextView *)fieldEditorForView:(NSView *)aControlView
我无法将我的大脑包围起来如何调用它,但是没有找到任何使用它的例子。
NSCell的文档说'aControlView'是:
包含需要的单元格的视图 自定义字段编辑器。
我的大脑所说的意思是'这个NSTextField所在的视图',而不是NSTextField(作为NSView的子类)。
NSView *viewTheTextFieldIsIn;
CustomTextView *customTextView subclass of NSTextView (the field editor)
NSTextField *textField
然而:
[[textField cell] fieldEditorForView:customTextView];
对我没有意义,因为它不是viewForFieldEditor:
......而是它在NSCell上。
有人会怜悯我,并且不再咆哮我的想法吗?
答案 0 :(得分:-1)
我想我会为存档回答这个问题,因为我觉得我现在明白了, (惊人的睡眠会做什么)。
具体方法调用的用法可以是:
CustomTextView *customTextView = (CustomTextView *)[[self.textField cell] fieldEditorForView:self.textField];
[customTextView doSomeOtherStuffWithIt];
使用窗口的委托方法,customTextView可以用作fieldEditor:
-(id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)client
其中client可以是textField。
然后对textField的fieldEditorForView
的调用将返回CustomTextView。