3

콘센트를 사용하는 NSCollectionView에있는 NSView의 컨트롤을 필사적으로 연결하려고합니다. 컬렉션 뷰는 NSArrayController를 사용하여 제공됩니다. NSCollectionView 및 Outlets를 올바르게 사용하는 방법?

나는 별도의 NIB 파일에서 NSView의 생성 및 NSCollectionViewItem의 구현에 나는 그것을로드 copyWithZone을 덮어 :이 instructions에 따라이 방법을 사용했습니다

-(id)copyWithZone:(NSZone *)zone 
{ 
    id result = [super copyWithZone:zone]; 

    [NSBundle loadNibNamed:@"InputView" owner:result]; 

    return result; 
} 

.

alt text

NSView의는 다음과 같습니다 :

alt text

NSCollectionView는 NSScrollView에 상주하며 스크롤이 자동으로 사용하도록 설정되어

불행하게도이 무엇 일어나고있다. 그러나 볼 수 있듯이 스크롤바가 없습니다.

NSCollectionView는 NSView의 크기를 알고 있으므로 실제로해야 할 일을 실제로 이해하지 못합니다.

그것은 내가 별도의 NIB 파일을 가지고 있지 않은 경우 이전에 근무하고있다, 그러나 나는 어레이 컨트롤러에 얼마나 많은 항목입니다

+1

지침 링크가 끊어졌습니다. – febeling

+0

글쎄, 꽤 오래된 게시물이야. 나는 당신을 도울지도 모르는 여기 위에 그것에 관해 무엇인가 썼다 : http://andrehoffmann.wordpress.com/2009/08/29/nscollectionview-tutorial-for-dummies-xcode-3-1-3/ –

답변

5

:-(항목을보기에서 출구 연결을 만들 수 없습니다 컨트롤러에 최소한 14 가지 (항목 당 1 뷰)가 있다고 가정하면 설명 된 내용이 올바른 것으로 보입니다. 크기 조정이 해결되어 어떤 문제를 해결하려고하는지 명확하지 않습니다.

그리드를 찾고 있었기 때문에 setMaximumNumberOfColumns:으로 전화해야합니까? 아니면 예상대로 크기가 조정되지 않고 있습니다 (-maxItemSize-minItemSize을 확인하십시오)?

+0

나는 언급하는 것을 잊었다 NSCollectionView는 NSScrollView에 있으며 스크롤바는 자동으로 활성화되도록 설정됩니다. 그러나 보시다시피 스크롤바가 없습니다. 나는 NSCollectionView가 그것의 NSViews의 크기를 알고 있기 위해 내가해야 할 것을 정말로 이해하지 못한다. 내가 조금 더 명확하게 문제를 만들었 으면 좋겠다. –

+1

+1. 그렇습니다. 기대하는 레이아웃을 얻지 못한다면 반드시 setMinItemSize : 및/또는 setMaxItemSize :를 호출해야합니다. minItemSize가 {0, 0}이면 콜렉션 뷰는 모든 뷰를 가시 영역에 놓으려고 시도하며 스크롤하지 않습니다. – kperryua

+0

감사합니다. minItemSize를 설정하면 문제가 해결되었습니다. –