2011-02-22 7 views
4

아래에 "추가"버튼이있는 NSTableView가 있습니다. 버튼을 클릭하면 새 행이 테이블에 추가되고 사용자 입력이 준비됩니다.투명 배경이있는 행 추가

행이 흰색으로 표시됩니다. 행의 색상을 투명 색상으로 설정할 수 있습니까? 이것이 가능한가? 나는 이것을하는 방법을 이해할 수 없다.

투명하게 내 테이블을 설정하기위한 내 코드 : 나는 당신이 무슨 말을 하려는지 달성하기 위해 몇 가지 서브 클래 싱을 할 필요가 있다고 생각

[myTableArray addObject:@""]; 
[myTable reloadData]; 
[myTable editColumn:0 row:[myTableArray count]-1 withEvent:nil select:YES]; 
+0

사람이 도움을 제공 할 수 있습니다 들어, 작동이 가능 – Swati

답변

0

: 행을 추가

[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의 하위 클래스를 만들면 원하는 것을 수행 할 수 있습니다. 나는이 발견 문서를 통해 검색

편집 :

수신기가 텍스트 형 NSCell에 객체가 아닌 경우는, 어떤 편집이 수행되지 않습니다. 그렇지 않으면 필드 편집기 (textObj)의 크기가 aRect이고 superview가 controlView로 설정되어 수신기를 정확히 덮습니다.

그래서이 경우 사용자 지정해야하는 항목은 NSTableView 또는 셀에서 수행중인 모든 디스플레이 변경을 숨기는 필드 편집기입니다. toObject :

편집 이를 시도

이것은 NSTableView는 그것을 반환하기 전에 편집 된 셀의 속성을 설정하도록해야

필드 편집기는 윈도우 대리인의 방법 windowWillReturnFieldEditor에 의해 반환되는 아무 소용 그러나 밖으로 도울 수 있습니다

-(id) windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)client{ 
    NSText *editor = [window fieldEditor:YES forObject:client]; 
    [editor setBackgroundColor:[NSColor clearColor]]; 
    [editor setDrawsBackground:NO]; 
    return [editor autorelease]; 
} 
+0

thabks 내가 다시이 프로젝트에 먹을수록 내가 바로이을 다할 것입니다 UR 대답을 호텔 fr입니다. – Swati

1

시도는

투명 셀의 배경 색상을 설정

[셀 setBackgroundColor : [UIColor clearColor]];

은 나를

+1

이것은 터치 응용 프로그램에서 작동하지만 비 터치 코코아 응용 프로그램이 필요합니다 :) – Swati

관련 문제