:行を追加するための
[myTable setBackgroundColor:[NSColor clearColor]];
[[myTable enclosingScrollView] setDrawsBackground: NO];
コードする。
あなたのNSTableViewをサブクラス化することで、あなたはpreparedCellAtColumnを上書きすることができます。行:そうのような方法:
- (NSCell*) preparedCellAtColumn:(NSInteger)column row:(NSInteger)row {
NSTextFieldCell *edit_field;
edit_field = (NSTextFieldCell*) [super preparedCellAtColumn:column row:row];
if ([self editedRow] == row && [self editedColumn] == column ) {
[edit_field setBackgroundColor:[NSColor clearColor]];
[edit_field setDrawsBackground:NO];
}
return edit_field;
}
はしかし、NSTableViewのドキュメントでは、あなたのセルに色をリセットするようだと呼ばれる別の方法を、持っていることを示しています。 (editWithFrame:inView:editor:delegate:event :)このメソッドをオーバーライドするNSTextViewCellのサブクラスを作成すると、探しているものができます。私はこれを見つけたドキュメントを検索
EDIT :
受信機は、テキスト型NSCellのオブジェクトでない場合は、何も編集は実行されません。それ以外の場合は、フィールドエディタ(textObj)のサイズがaRectになり、スーパービューがcontrolViewに設定されるため、受信者を正確にカバーします。
この場合、カスタマイズする必要があるのはフィールドエディタです。これは、NSTableViewまたはセルで実行している表示の変更をカバーしています。
フィールドエディタはウィンドウのデリゲートのメソッドwindowWillReturnFieldEditorによって返されます。これは、あなたがこれを試みNSTableView
EDIT に戻す前に編集したセルのプロパティを設定させてください
:toObject無駄ませんが、助けるかもしれない:
-(id) windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)client{
NSText *editor = [window fieldEditor:YES forObject:client];
[editor setBackgroundColor:[NSColor clearColor]];
[editor setDrawsBackground:NO];
return [editor autorelease];
}
私の作品、これを可能 – Swati