2011-01-20 7 views
0

NSTableView을 사용자 정의하고 싶습니다. 내 전반적인 요구 사항은 다음과 같습니다.투명한 NSTableView

  • 각 행에는 하나의 이미지와 일부 텍스트가 있습니다. 이미지와 텍스트는 다를 수 있습니다.
  • 일부 셀에는 이미지가 없을 수 있습니다.
  • 행 높이는 외부 요인에 따라 다릅니다.
  • 셀이 배경을 그려서는 안되며, 배경이 NSTableView이어야합니다.

지금까지 일부 텍스트로 투명 셀을 그릴 수있었습니다. 나는 인터넷 검색을하고 각 셀을 사용자 정의해야한다는 것을 알게되었습니다. 지금 나는이 질문을 가지고있다 : 나는 두 개의 기둥을 유지해야 하는가, 아니면 한 개의 기둥이 왼쪽이어야하며 그 옆에 하나의 이미지가 있어야 하는가?

나는 또한 내가 두 가지 방법을 재정의해야 이해 :

각 셀에 대한 그래서
- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView 

, 내가 셀을 구성/그릴 필요 - 사람이 나를 인도 할 수 있습니까? 나는 올바른 방향으로 가고 있는가? 위의 방법으로 동적 높이를 가진 투명한 배경을 얻을 수 있습니까?

답변

1

각 행은 하나 개의 이미지와 텍스트를해야합니다,

그래서, 두 개의 열 - 하나의 이미지 셀과, 텍스트 필드의 세포와 다른.

이미지와 텍스트는

나는 그렇게 희망한다 다를 수 있습니다. 일부 셀이 이미지가 없을 수 있습니다

,

문제가되지 않습니다.

행 높이가

테이블보기의 대리자, 일부 외부 요인에 의존하고, 그것은 당신을 행의 높이가되어야 하는지를 묻습니다.

셀은

그것은 당신은 이렇게 설정하지 않는 한, 배경을 그리지한다.

는 전체가 NSTableView는 배경을 표시해야한다

테이블보기는 IB의 Inspector에서 설정할 수있는, 어쨌든 자신의 배경을 그릴 것입니다. 테이블 뷰가 배경을 그리지 않게하려면 배경색을 선명한 색으로 설정합니다.

이 경우 사용자 지정 셀이 필요하지 않습니다.

+0

감사합니다 피터, 대리인, 실제로 모든 가능한 대리자 함수에 대한 검색, 내가 두 colo 함께 투명한 배경 및 텍스트를 표시 할 수 있지만 시도해 봅시다. 한 col에서 이미지를 표시하는 방법을 모르겠다. . – Amitg2k12

+0

내가 말했듯이, 그 칸에 이미지 셀을 놓아야합니다. IB 사용 설명서를 참조하십시오. 데이터 소스 및 대리자 메서드는 모두 해당 프로토콜 설명서에 나열되어 있습니다. –

+0

안녕하세요 피터, 나는 코코아에서 초보자입니다. 지금까지 나는 다음과 같이했습니다. – Amitg2k12