我找不到一个简单的例子来说明如何使用 NSTextField 来编辑它的内容。
就像在 Finder 中一样 - 您可以单击,并且在短暂的延迟之后,文本字段变为可编辑。
它似乎是 textField、它的单元格和 fieldEditor 的某种组合?问题是我找不到如何做到这一点的最基本的例子。
我尝试使用几个不同的测试对 NSTextField 进行子类化,但它没有奏效:
#import "GWTextField.h"
@implementation GWTextField
- (id) initWithFrame:(NSRect)frameRect {
self = [super initWithFrame:frameRect];
return self;
}
- (void) mouseDown:(NSEvent *)theEvent {
[super mouseDown:theEvent];
[self.cell editWithFrame:self.frame inView:self.superview editor:[self.cell fieldEditorForView:self] delegate:self event:theEvent];
//[self setEditable:TRUE];
//[self setSelectable:TRUE];
//[self selectText:nil];
[NSTimer scheduledTimerWithTimeInterval:.3 target:self selector:@selector(edit:) userInfo:nil repeats:FALSE];
}
- (void) edit:(id) sende {
NSLog(@"edit");
[[NSApplication sharedApplication].mainWindow makeFirstResponder:self];
[self selectText:nil];
}
@end
有任何想法吗?