我在下面的代码中创建了一个textLabel。虽然我有 [textView setEditable:YES];在这段代码中,我仍然无法在我的应用程序运行时编辑文本框中的文本。我在这里做错了什么?
-(NSView *)elementView {
NSView* view = [super elementView];
NSTextField* textView = [[[NSTextField alloc] initWithFrame:view.bounds] autorelease];
textView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
textView.stringValue = self.text != nil ? self.text : @"Label";
textView.textColor = self.textColor;
textView.font = [NSFont fontWithName:self.fontName size:self.fontSize];
NSTextAlignment alignment = NSLeftTextAlignment;
if([@"center" isEqualToString:self.textAlignment]) {
alignment = NSCenterTextAlignment;
} else if([@"right" isEqualToString:self.textAlignment]) {
alignment = NSRightTextAlignment;
}
textView.alignment = alignment;
[textView setEditable:YES];
[textView setSelectable:NO];
[textView setDrawsBackground:NO];
[textView setContinuous:NO];
[view addSubview:textView];
return view;
任何帮助将不胜感激。
答案 0 :(得分:1)
documentation for NSTextView说:
如果文本视图不可选,则它也不可编辑,“查找”面板上的按钮将变暗。默认情况下,文本视图既可编辑又可选择。
所以我猜你不必将selectable设置为NO。