2009-02-02 2 views
1

나는 UITabBarController 기반 응용 프로그램을 가지고 있습니다. 탭은 데이터베이스 항목에서 만들어 지므로 미리 알지 못합니다. 프로그래밍 방식으로UINavigationController 하위 클래스 (몇 가지 종류가 있음)를 각 탭마다 초기화하고 싶습니다.NIB에서 UINavigationController 하위 클래스를 초기화 할 수 있습니까?

이상적으로는 IB에서 각 탭의보기를 정의 할 때처럼 할 수있는 것처럼 전체적으로 UINavigationController 하위 클래스를 그려야합니다. 전진). 내 UINavigationController 서브 클래스의 이름으로 "클래스 ID를"설정 해봤 ...

감사

답변

4
를 다음 내부 UINavigationController을 추가 할 수 있지만 분명히 그것은 "파일의 소유자"수준에서 인스턴스를 주입하지 않았다

UINavigationController의 서브 클래 싱을 종료 했으므로 권장 사항이 아닌 것으로 보입니다. 나는 IB 내부에서 UINavigationController을 디자인함으로써 많은 이점이 없다는 것을 빨리 알았다. 대신 UIViewController을 서브 클래 싱하여 (사용자 정의 단추, 사용자 정의 중간 이미지)에 대한 init의 몇 줄을 내 viewDidLoad에 기록했습니다. 프로그래밍 방식으로 탭을 채울 때 서브 클래스를 [[UINavigationController alloc] initWithRootController: subclass];으로 간단하게 래핑하는 것이 좋습니다. UINavigationController을 서브 클래 싱하면 내 삽입보기의 navigationItem 속성을 올바르게 사용하지 못하게됩니다.