문제

NavigationController 앱이 있습니다.

나는 탭 바를보기에 밀어 넣습니다. 탭이 작동중인 제목이 변경되고 완벽합니다. 이제 내 탭 중 하나가 목록이 있으며 Tabbar 내의 하위 페이지에 연결하려고합니다.

NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"ProfileDetailController" bundle:nil];
[self.navigationController pushViewController:nextController animated:YES];

아무 반응이 없습니다. 코스 이것은 작동합니다 :

self.view = nextController.view;

내 탭 바 에서이 하위 페이지를 푸시하고 NavigationBar 버튼을 변경할 수 있기를 원합니다. 이게 가능해?

도움이 되었습니까?

해결책

당신이 a를 밀고있는 것 같습니다 UITabBarController a UINavigationController? 에서 애플의 문서, 탭 바 컨트롤러를 내비게이션 컨트롤러로 밀 수는 없습니다.

아마도 당신이하고 싶은 것은 반대입니다. 탭 바 컨트롤러가 UINavigationController탭 항목으로서. 이것은 iPod 앱 또는 전화 앱의 인터페이스와 유사합니다.

다른 팁

나는 Alex와 동의합니다 - 탐색 컨트롤러 내부의 TabbarController는 멋진 UI 패턴처럼 보이지 않습니다.

어쨌든, 귀하의 질문에 답하기 위해 : Tab Bar 컨트롤러를 통해 내비게이션 컨트롤러에 액세스하려고 했습니까?

self.tabBarController.navigationController

이것이 작동하는지 확실하지 않지만 시도해 볼 수 있습니다.

쉬운 해결책을 찾았다 고 생각합니다.

수업에서 당신이보기를 푸시하고 싶은 곳에서 현지인을 선언하십시오. UINavigationController 프로 테티로 :

@interface userMenu : UIViewController  {
UINavigationController *navigationController;
}
@property (nonatomic, retain) UINavigationController *navigationController;

합성을 잊지 마십시오.

당신의 수업에서 tabBarController:

NSArray *viewControllersArray = [self.tabBarController viewControllers];

userMenu *childUserMenu = (userMenu*) [viewControllersArray objectAtIndex:0];
childUserMenu.navigationController = self.navigationController;

그 후에 당신은 할 수 있습니다 [self.navigationController pushViewController:nextController animated:YES];

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top