네, 할 수 있습니다. 예,보기 컨트롤러를 사용해야하지만 그렇지 않아도됩니다. 그것은 엄격한 문체 선택입니다. 뷰 컨트롤러를 사용하지 않으면 모든 컨트롤러 로직이 단일 창 컨트롤러에있을 가능성이 높습니다. 그것은 큰 응용 프로그램에 고통 스러울 수 있습니다. 뷰 컨트롤러는 UI를 논리적 구성 요소 및 컨트롤 유닛으로 분류하는 데 도움이됩니다. 당신은 다음과 같이 뷰 컨트롤러 방법을하기에 관하여 가고 싶어
:
- 는 구성 요소 뷰의 각각에 대해 별도의 xibs을 만듭니다.
- 각 xib에 대해로드, 소유 및 제어하는보기 컨트롤러 하위 클래스를 만듭니다.
- 더 자세히 살펴보고 뷰 내의 별도 영역에 하위보기 컨트롤러가있을 수 있습니다.
- 윈도우 컨트롤러의 awakeFromNib 클래스에서 모든 최상위 뷰 컨트롤러를 인스턴스화하십시오.
이제 최상위 레벨보기 컨트롤러가 여러 개인 앱용 기본 프레임 워크가 있습니다. 여기에서 작업은 필요에 따라 또는 사용자 입력이 지시하는대로 기본 창에서보기를 정렬하는 것입니다. 때로는 3-4 개의 최상위 뷰가 1 일 때로는 1 일 수도 있고, 경우에 따라서는 다른 최상위 뷰로 바꿀 수도 있습니다. 이러한 시나리오에는 큰 차이가 없습니다.
이렇게하려면 여러 가지 방법이 있습니다. 특정 사례를 들어
, 그것에 대해 이동하는 쉬운 방법은 다음과 같습니다
- 는 최상위 tabless 및 여백 탭보기를 사용하여 프로그래밍 방식으로 선택한 탭을 설정합니다.일반적으로
당신은 일의 무리를 수행 할 수 있습니다
- 수동으로 메인 윈도우의 내용보기의 하위 뷰를 배열합니다.
- 필요에 따라 하위보기를 안으로 또는 밖으로 또는 표시 가능한 영역 내에서 이동 (애니메이션 처리)하십시오.
- 주 창에서 분할보기를 사용하여 표시하려는 영역을 축소하거나 축소 할 수 있습니다.
BTW이 방법은 문서 기반 응용 프로그램을 만들지 여부와 상관없이 또는 단일 창 또는 다중 창 문서 기반 응용 프로그램인지 여부에 관계없이 작동합니다.
보기 컨트롤러를 사용하는 한 가지 단점은 최상위 수준의보기 레이아웃이며 관리는 IB가 아니라 프로그래밍 방식으로 수행되어야한다는 것입니다. 그러나 그렇게 어렵지 않습니다.
일반적으로 IB에서 이미 배치 한 상위 뷰에보기를 배치하려면 addSubview : 및 setFrame :을 수행하면됩니다.
그러나 더 복잡하고 수동적 인 작업을 수행하려면 문서를 읽고 프레임/경계, 뒤집힌 좌표, 자동 크기 조정 및 자신 만의 레이아웃을 수행하는 자동 크기 재 지정을 재정의하는 방법을 알아야합니다.
여러 뷰를 관리하는 NSNavigationController 사용에 대한 어떤
참조로 여기에 내가하고 싶은 일이 있습니다. http://developer.apple.com/library/mac/#samplecode/ViewController/Introduction/Intro.html – ruipacheco