UITabBarController bilan interfeysni aylantiring

Yangi Xcod 4.2 bilan yangi "Tab Bar" loyihasini yaratdim. UITabBar bilan ishlashning "yangi" usuli boshqacha: Xcode xib fayli hosil qilmaydi (UITabBarController bilan), lekin u har bir narsani kod orqali amalga oshiradi. OK, buni qilaylik.

Shuning uchun didFinishLaunchingWithOptions dagi kodim shu:

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;

Va u ishlaydi.

Mening uchta .m faylim vc1.m, vc2.m va vc3.m (shuningdek, mening iPad UIViewControllers) bu usulga ega

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
     return YES;
}

Muammo shundaki, men iPhone'ni aylantirganda, TabBarController emas, balki faqat holat satrini qaytaradi!

Nima uchun bilasizmi? Rahmat

1
Sizning uchta nuqtai nazardan boshqaruvchi mashg'ulotlarini gemboy_iphone, concerti_iphone va diskografia_iphone deb atash odatiy emas, lekin ular sizning so'zlaringiz vc1.m, vc2.m va vc3.m da joylashgan. Buning to'g'ri ekanligiga ishonchingiz komilmi? XCode bu fayllarni nomlari nomiga o'xshash bo'lgani uchun topa olmaydi. Agar ular haqiqatan ham ushbu sinflarni o'z ichiga oladigan bo'lsa, siz faylning egasi turini nibslardagi sinflarga qo'ygan bo'lasiz.
qo'shib qo'ydi muallif morningstar, manba

1 javoblar

Siz UITabBarController subklassiga ega bo'lishingiz shart emas, siz ham keraksiz.

Agar tab paneli tekshiruvi avtomatik ravishda aylantiriladi, agar uning barcha ko'rinishi tekshiruvgichlari mustAutorotateToInterfaceOrientation dasturini amalga oshirishi va bir xil yo'nalishlarga qaytish uchun YO'Q bo'lsa.

Agar siz Sekmeli Dastur shabloni bilan Xcode 4.2da yangi loyiha yaratmoqchi bo'lsangiz, u avtomatik ravishda avtomatik ravishda aylanayotganini ko'rasiz.

2
qo'shib qo'ydi