UITabBar 및 UINavigationBar를 동시에 사용하는 데 문제가 있습니다. 나의 의도는 tabBar에 내 3 개의 탭을 표시하고 각각의 탭에 사용자 정의 이름을 표시하는 navBar 및 일부 탭에 추가 버튼 (예 : 추가 버튼)을 추가로 표시하는 것입니다. UITabBar 및 UINavigationBar 사용
나는 AppDelegate에의 didFinishLaunchingWithOptions에서보기 컨트롤러를 만들어 :AAA *vc1 = [[AAA alloc] init];
BBB *vc2 = [[BBB alloc] init];
CCC *vc3 = [[CCC alloc] init];
는 한 tabBar를 작성하고 그것을 채워 : 나는 모든 인이보기 컨트롤러의 tabBarItems 일부 제목과 이미지를 추가 한
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[vc1, vc2, vc3];
다음 잘 작동하지만 응용 프로그램 위에 탐색 바를 표시하려고합니다. 그래서 네비게이션 컨트롤러를 만들었지 만 컨트롤러를 시작하기 위해 어떤 컨트롤러를 볼 필요가 있는지 알지 못합니다. vc1을 사용하고 navController를 rootViewController로 설정하면 응용 프로그램은 vc1의 뷰를 표시하고 navBar를 표시하지만 tabBar는 표시하지 않습니다.
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc1];
self.window.rootViewController = navController;
//self.window.rootViewController = self.tabBarController;
나는 tabBarController가 navController init을하고 rootViewController로 navController을 설정하는 설정하려고 -이 경우 뷰, 한 tabBar 및 네비게이션 바에 디스플레이에 올바르게,하지만 난 뷰 VC1, VC2, VC3과 관련된 navBarItems이 없습니다.
이 내가 (예를 들어, AAA.m에서) navBarItems 생성하는 방법입니다
- (instancetype)init {
self = [super init];
if (self) {
UINavigationItem *navItem = self.navigationItem;
navItem.title = @"name";
}
return self;
}
을 내가 그것을 모두 함께 작동되도록하려면 어떻게해야합니까? 감사.
편집 :
나는 코드에 약간의 수정을했고 지금은 네비게이션 바는 볼 수 있지만 UINavigationController가의 initWithRootViewController 방법에서 설정 한 뷰 컨트롤러. 예를 들어, 다음 코드에서는 vc2에서만 모든보기 및 탐색 막대에 탭 표시 줄을 볼 수 있습니다. 그리고 내 의도는이 세 가지의 모든 탭 막대 및 탐색 막대를 가지고 있습니다.
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc2];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:vc1, navController, vc3, nil];
self.window.rootViewController = self.tabBarController;
에 코드의 다음 줄을 추가? –
모든 탭 표시 줄에서 탐색 모음이 표시되도록하고 싶습니다. 다른보기에 다른 정보를 표시하도록 사용자 정의하는 방법을 알고 있지만 여기에서는 탭 표시 줄을 사용하여 표시 할 수 없습니다. –