새로운 Xcode 4.2로 새로운 "Tab Bar Project"를 만들었습니다. UITabBar로 작업하는 "새로운"방법은 다릅니다. Xcode는 UITabBarController를 사용하여 xib 파일을 만들지 않지만 코드를 통해 모든 작업을 수행합니다. 자, 해보 죠.UITabBarController로 인터페이스 회전
그래서 didFinishLaunchingWithOptions
내 코드는 다음과 같습니다
UIViewController *viewController1, *viewController2, *viewController3;
UINavigationController *nav1, *nav2, *nav3;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[gemboy_iphone alloc] initWithNibName:@"vc1" bundle:nil];
viewController2 = [[concerti_iphone alloc] initWithNibName:@"vc2" bundle:nil];
viewController3 = [[discografia_iphone alloc] initWithNibName:@"vc3" bundle:nil];
nav1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
nav2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
nav3 = [[UINavigationController alloc] initWithRootViewController:viewController3];
}
else {
//same thing for the iPad version
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nav3, nil];
self.window.rootViewController = self.tabBarController;
[self.window addSubview:self.splash.view];
[self.window makeKeyAndVisible];
return YES;
을 그리고 그것은 작동합니다.
내 세하는 .m 파일 vc1.m, vc2.m 및 vc3.m (그리고 내 아이 패드 UIViewControllers는) 내가 아이폰을 회전 할 때
이- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
는, 단지 회전 문제가되는이 방법을 가지고 상태 표시 줄이 아니라 TabBarController!
이유를 알고 계십니까? 감사합니다.
3 개의보기 컨트롤러 클래스가 gemboy_iphone, concerti_iphone 및 discografia_iphone이라고하는 것은 드문 일이지만 vc1.m, vc2.m 및 vc3.m 파일에 있습니다. 맞았습니까? XCode는 이름이 펜촉 이름과 비슷하기 때문에 파일을 찾지 못합니다. 클래스에 실제로 클래스가 포함되어 있으면 해당 파일의 소유자 유형을 해당 클래스로 설정해야합니다. – morningstar