0

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;

任意の助けをいただければ幸いです。

4

1 に答える 1

1

NSTextViewのドキュメントには次のように書かれています。

テキスト ビューを選択できないようにすると、編集もできなくなり、[検索] パネルのボタンが淡色表示になります。デフォルトでは、テキスト ビューは編集可能で選択可能です。

したがって、selectable を NO に設定する必要はないと思います。

于 2012-10-19T08:16:29.937 に答える