2012-10-10 2 views
3

대 이것은 일반적인 질문이다 그러나 나는 혼동을 피하기 위해 구체적인 예를 사용하여 요청할 것입니다 : 나는 하나의 화면에서 다른 것들 사이 UIPickerView이있는 응용 프로그램을 개발하고 있어요하위 뷰 childViewController

. 궁금해서 내 UIPickerView를 제어하고 PickerViewController를 childVC로 추가하는 것이 맞춤 PickerViewController 클래스인지 궁금 해서요 ...

또는 기존 VC에서 UIPickerView의 인스턴스를 만들고 거기에서 제어해야합니까?

언제 이러한 옵션을 사용해야하며 그 이점은 무엇입니까?

도움 주신 분들께 감사드립니다.

답변

1

iOS 5.0은 하위보기 컨트롤러 개념을 도입했습니다. 원래 UINavigationController 및 UITabBarController를 제외한 모든 뷰 컨트롤러는 모달 및 전체 화면이어야했습니다. iOS 5.0에서는 이제 한 화면에 여러 UIViewController가있을 수 있습니다. 이는 하나의 UIViewController가 많은 자식 (UIViewController)을 가질 수 있음을 의미합니다. 각 자식은보다 구체적인보기 및 모델을 제어해야합니다.

1

UIPickerView가 다른 UI 요소와 함께 화면 상에 simoultane 인 경우 하위 뷰로 추가해야합니다. 뷰 컨트롤러의 개념은 완전히 다른 UI/창/엘리먼트 세트를 관리하기 시작한 때입니다. 피커 뷰가 다른 요소의 기능과 밀접하게 관련된 경우에는 별도의 뷰 컨트롤러를 만들면 안됩니다.

+0

감사합니다. 그렇다면 어린이 VC를 추가하기위한 적절한 사용 시나리오는 무엇입니까? – JordanC

+0

@ JordanC 완전히 새로운 컨텍스트/창으로 전환하면 e. 지. UITableViewCell에서 'details'화살표를 누르면 파일 브라우저보기 컨트롤러 등에서 파일의 속성이 열립니다. –

+0

그런 시나리오에서는 [self.navigationController pushViewController]를 수행하지 않습니까? – JordanC