2011-01-21 4 views
0

내가 아주 간단한 질문을 할 수 있습니다,하지만 난이 제거하는 방법을 얻을 수 아니에요, 요구 사항이며,는 NSTableView는 디스플레이 이미지는 하나 개의 셀에

  1. 표는 이미지와 다음 텍스트를 표시해야 그걸로. 이렇게하려면 테이블에 두 개의 열을 추가했습니다.
  2. NSTableView는 투명해야합니다. 그렇게하기 위해, 나는 drawNotableView 클래스를 만들고 drawRect 메서드를 오버라이드하여 배경을 그리지 않고 셀에 drawBackground를 보내지 않도록 지시했다.
  3. 지금 다음 장애물 이미지를 표시하는 방법을, 나는/처리 방법

다음 무시했다.

- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ 

    NSImage *pCellImage = // Get a valid Image ; 

    if(tableColumn == nil) return nil; 

    NSString *colName = [tableColumn identifier]; 
    if([colName isEqualToString:@"firstColumn"]){ 
     NSCell *pCell = [[NSCell alloc]initImageCell:pCellImage]; 
     return pCell; 
    }else{ 
     NSCell *pCell = [[NSCell alloc]initTextCell:@"Some text"]; 
     return pCell; 

    } 
} 

나는 문서에으로서의 난 전체 행에 대해 하나의 열을 설정할 필요가있을 때, 각 행의 첫 번째 시간이이 TableColumn의 전무로 호출 될 주어진하지만 경우 TableColumn의 == 닐 조건 첨가 전 , 주석 BAD_ACCESS과의 충돌을 반환

이제 내 질문은 후,

- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex 

은 내가 믿는 또 다른 대리인 기능에 간다 모두 열위한 NSCell에 설정 한 후이 기능에 또한 전무 상태, 을 처리하는 방법입니다 환경 데이터 집합 제대로 난이 기능은 다음 구현의 충돌로

를 사용할 필요가 없습니다,하지만 난 그것을 알아낼 수 없습니다입니다, 무엇을,

내가 적절한는 dataSource 위임을 설정하고,

잘못
+0

매우 이상한, 내가 코멘트 setRowHeight 다음 그 EXE_BAD_ACCESS 타격하지 않는다면 :( – Amitg2k12

답변

1

setBackgroundColor를 호출하고 선명한 색상을 전달 했습니까?

[myTableView setBackgroundColor:[[NSColor clearColor]]; 

이 방법을 사용하는 경우 주변 NSScrollView에 배경을 그리지 말라고 지시해야합니다.

또는 테이블의 배경색을 CALayer으로 지정하십시오.

이미지와 텍스트를 단일 열로 그리는 것에 대한 Apple의 개발자 관계는 사용자 지정 NSCell ImageAndTextCell을 게시했습니다. 이 셀은 NSTableView 및 NSOutlineView 인스턴스와 함께 사용할 수 있습니다. 이 사용자 지정 셀은 단일 열 내에서 이미지와 텍스트를 그립니다.

관련 문제