2012-05-19 2 views
1

내가 필요한 것은 꽤 기초적 일 수 있지만 앞으로 어떻게 할 것인지는 확실하지 않습니다. (이전에 해보았지만 내 선택은 코코아 친화적 인 것 같습니다).여러 NSViews를 교대로 사용하기

  • 왼쪽의 하나는 메뉴의 역할 : 옆에있는 다른 한 -

    좋아, 이제 우리는 2 개 NSView들있어 가정 해 봅시다.

  • 오른쪽에있는 메뉴는 메뉴의 선택에 따라 NSView (다른 XIB에서?)를 표시합니다.

GUI Outline

내 질문 :

  • 내가 가장 오른쪽 NSView의에 다른 NSView의로드에 대해 어떻게 가야하나요?
  • 창 크기를 조정할 때 하위 뷰 (현재 활성화 된 뷰)의 크기가 올바르게 조정되었는지 어떻게 확인합니까?

답변

2

rdelmar의 솔루션이 효과적 일 수 있지만 다른 방법으로는 NSTabView를 사용하여 콘텐츠보기 간 전환을 처리하는 것이 더 간단 할 수 있습니다. 인터페이스 작성기의 설정 창을 사용하거나 [self.tabView setTabViewType:NSNoTabsNoBorder]을 호출하여 NSTabView의 탭을 숨길 수 있습니다. 아마도 왼쪽에 테이블 뷰를 사용할 것입니다. 사용자가 행을 선택하면, 당신은 뭔가를 할 :

-(void)tableViewSelectionDidChange:(NSNotification *)notification 
{ 
    [self.tabView selectTabViewItemAtIndex:[self.menuTableView selectedRow]]; 
} 

NSTabView 수/제대로만큼 당신이 그와 컨텐츠 뷰 '자동 크기 마스크 (스프링을 설정 한대로 컨텐츠 뷰의 크기를 조정 처리됩니다 및 스트럿).

+0

위대한 아이디어! 그게 내가 할거야 ... 고마워! ;-) –

1

당신은 노란색보기처럼 보이는 IB에서 사용자 지정보기를 만들고, 창 크기 조정과 양방향으로 확장하기 위해 크기 조정 동작을 설정할 수 있어야합니다. 그런 다음 새 뷰를 가져 오거나 (이미 가지고있는 뷰를 참조하거나 새 xib를로드하는 것만으로) 사용자 뷰의 하위 뷰로 추가하고 프레임을 사용자 정의 뷰의 하위 뷰로 설정합니다. 보기가 기본적으로 하위보기 크기를 조정하므로 사용자 지정보기에서 올바르게 크기를 조정해야한다고 생각합니다.

+0

고맙습니다. :-) –

관련 문제