2010-04-07 5 views
2

나는 코코아를 배우고 간단한 책 목록을 표시하는 Mac 용 응용 프로그램을 만들려고합니다. 각 책은 커버 이미지, 제목 및 저자가있는 NSView입니다. 이 목록을 각 셀에 단일 열과 책보기가있는 NSTableView로 표시하려고합니다. 그러나 아직 인터페이스 작성기 또는 프로그래밍 방식으로 테이블 셀 내부에 사용자 지정보기를 표시하는 방법을 알아낼 수 없습니다. 모든 팁은 매우 감사하겠습니다 :)코코아 : 각 셀에 표보기 그리기 사용자 정의보기를 만드는 방법

Inso.

답변

3

"책보기"가 모두 동일한 크기 인 경우 NSCollectionView/NSCollectionViewItem을 사용하지 않으시겠습니까? 훨씬 더 깔끔한 솔루션입니다 (모든 크기가 동일한 경우).

+0

감사합니다, 나는 그것을 밖으로 시도합니다 (당신은 여전히 ​​NSCell에-그 의미를하지 않을 것입니다.하지만 당신은 테이블보기에서보기 대신 세포를 가질 수 있습니다.에 NSView의를 넣을 수 없습니다) . –

2

컬렉션보기가 더 나은 솔루션이 아니라고 가정하면 사용자 지정 셀을 작성해야합니다. 열은 테이블 뷰가 각 행에 대해 열 값을 그릴 때 사용할 셀 하나만 정확하게 소유합니다.

(당신이 아이폰에서 제공된 경우, 예,이 jQuery과는 완전히 다르다. 각 NSTableColumn가 모든 행에 사용하는 단 하나 개의 셀을 가지고 있습니다.)

당신이 다른 곳에 당신의 NSView의 클래스를 사용하는 경우 , 당신은 NSControl의 서브 클래스로 만들 수 있고 동일한 셀 클래스의 다른 인스턴스를 사용하게 할 수 있습니다. 대부분의 컨트롤과 마찬가지로 모든 실제 작업은 셀에 의해 수행되므로 여러 컨트롤 (단일 컨트롤 및 테이블 뷰)에서 해당 동작을 다시 사용할 수 있습니다.

자세한 내용은 Control and Cell Programming Topics을 참조하십시오.

+0

대답은 훌륭하고 매우 교육적입니다. 감사합니다. 그러나 콜렉션 뷰는 실제로 더 나은 솔루션으로 판명되었습니다. –

0

Apple은 L3300에 view-based table views을 추가 했으므로 NSTableView를 사용하여이 작업을 네이티브 방식으로 수행 할 수 있습니다.

관련 문제