我有一个基于单元格的NSTableView,在特定列中有一个文本单元格。我想提供一个自定义字段编辑器,以便无需用户按F5就可以自动完成。
@implementation AutoCompleteFieldEditorTextView
-(id)init
{
self = [super init];
if (self)
{
self.focusRingType = NSFocusRingTypeDefault;
self.fieldEditor = YES;
}
return self;
}
@end
除聚焦环不存在外,此方法工作正常。即使我添加:
-(void)drawFocusRingMask
{
NSRectFill([self bounds]);
}
-(NSRect)focusRingMaskBounds
{
return [self bounds];
}
它仍然不起作用。如何获得在默认NSTextView用作NSTableView中的字段编辑器时出现的确切的聚焦环?
答案 0 :(得分:0)
有同样的问题,为了解决这个问题,我正在使用下一种方法。自定义NSTextFieldCell中重载了此方法,该方法创建并返回了自定义NSTextView:
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
[super drawInteriorWithFrame:cellFrame inView:controlView];
if([controlView.window firstResponder] == self.maskTextField)
{
[super drawFocusRingMaskWithFrame:cellFrame
inView:controlView];
}
}
希望这对以后的人有所帮助。