2010-11-18 3 views
0

Я работаю над приложением панели вкладок, в котором я назвал навигационный контроллер следующим образом Проблема в том, что я не могу ориентироваться в ландшафтном режиме. кто-нибудь может сказать, что я поступил не так?Проблемы с ориентацией в приложении UITabbar

С уважением, Sathish

-(IBAction)click 


{ 

    tabBarController = [[UITabBarController alloc] init]; 

    NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:5]; 

    UINavigationController *localNavigationContriller; 

    FavouritesViewController *master; 
    master = [[FavouritesViewController alloc] initWithTabBar]; 
    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:master]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [localControllersArray addObject:localNavigationContriller]; 
    //[localNavigationContriller release]; 
    [master release]; 

    NeedViewController *need; 
    need = [[NeedViewController alloc] initWithTabBar]; 
    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:need]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [localControllersArray addObject:localNavigationContriller]; 
    //[localNavigationContriller release]; 
    [need release]; 

    DontNeedViewController *dontneed; 
    dontneed = [[DontNeedViewController alloc] initWithTabBar]; 
    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:dontneed]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [localControllersArray addObject:localNavigationContriller]; 
    //[localNavigationContriller release]; 
    [dontneed release]; 

    tabBarController.delegate=self; 
    tabBarController.viewControllers = localControllersArray; 
    [localControllersArray release]; 

    [[[UIApplication sharedApplication] keyWindow] addSubview:tabBarController.view]; 
} 

ответ

1

Слушай чувак U вы должны переопределить функцию shouldrotate Да во всей панели вкладок, как у вас есть 3 вкладки в вашем приложении, перейдите там соответствующего класса и

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations. 

    return YES; 
} 

во всех соответствующем классе на панели вкладок ... надеюсь, что помощь, если она помолись за меня ...

0

это не возможно чан ge ориентация для одного вида в tabBar, а не для другого. Если указан TabBar, то все подвидности (вкладки) должны иметь одинаковый внешний вид ориентации. Вы должны установить ориентацию в каждом ViewController и в TabBarController.

Так просто добавить это во всех главных контроллеров TabBar в

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     return YES; 

    return toInterfaceOrientation != UIInterfaceOrientationPortraitUpsideDown; 
} 

В вашем случае эти контроллеры, где этот код будет добавлен являются FavouritesViewController, NeedViewController & DontNeedViewController

Смежные вопросы