在我的应用运行时,在NSTextView中编辑文本

时间:2012-10-19 08:04:09

标签: objective-c nstextview

我在下面的代码中创建了一个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;

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

documentation for NSTextView说:

  

如果文本视图不可选,则它也不可编辑,“查找”面板上的按钮将变暗。默认情况下,文本视图既可编辑又可选择。

所以我猜你不必将selectable设置为NO。