2010-10-07 6 views
0

Я работаю с проектом, в котором у меня должна быть страница входа в систему, и после успешного входа у нас должен быть вид на панели (я использую контроллер панели вкладок), когда я пытаюсь загрузить панель вкладок контроллер, используя следующий код. Ничего не работает.loading Tabbar controller from view controller

LoginSuccess *viewController = [[LoginSuccess alloc] initWithNibName:@"LoginSuccess" bundle:nil]; 
     [self.view addSubview:viewController.tabBarController.view]; 
     [viewController release]; 

, пожалуйста, помогите мне.

ответ

1

я же работу, но я зову AppDelegate после успешного ответа входа функции [mAppDelegate loadTabbar]; // вызова в делегат файл для загрузки вида TabBar которого код следовать

#pragma mark - 
#pragma mark Load TabBar 
-(void)loadTabBar 
{ 
    self.tabBarController = [[UITabBarController alloc] init]; 
    tabBarController.delegate = self; 

    MyAlarmVC *myAlarmVC = [[MyAlarmVC alloc] initWithNibName:@"MyAlarmVC" bundle:nil]; 
    UINavigationController *myAlarmNVC = [[UINavigationController alloc] initWithRootViewController:myAlarmVC]; 
    myAlarmNVC.navigationBar.tintColor = [UIColor whiteColor]; 
    [myAlarmVC release]; 


    MyVideosVC *myVideoVC = [[MyVideosVC alloc] initWithNibName:@"MyVideosVC" bundle:nil]; 
    UINavigationController *myVideoNVC = [[UINavigationController alloc] initWithRootViewController:myVideoVC]; 
    myVideoNVC.navigationBar.tintColor = [UIColor whiteColor]; 
    [myVideoVC release]; 


    MyFriendsVC *myFriendVC = [[MyFriendsVC alloc] initWithNibName:@"MyFriendsVC" bundle:nil]; 
    UINavigationController *myFriendNVC = [[UINavigationController alloc] initWithRootViewController:myFriendVC]; 
    myFriendNVC.navigationBar.tintColor = [UIColor whiteColor]; 
    [myFriendVC release]; 


    MyMessageVC *myMessageVC = [[MyMessageVC alloc] initWithNibName:@"MyMessageVC" bundle:nil]; 
    UINavigationController *myMessageNVC = [[UINavigationController alloc] initWithRootViewController:myMessageVC]; 
    myMessageNVC.navigationBar.tintColor = [UIColor whiteColor]; 
    [myMessageVC release]; 

    MyProfileVC *myProfileVC = [[MyProfileVC alloc] initWithNibName:@"MyProfileVC" bundle:nil]; 
    UINavigationController *myProfileNVC = [[UINavigationController alloc] initWithRootViewController:myProfileVC]; 
    myProfileNVC.navigationBar.tintColor = [UIColor whiteColor]; 
    [myProfileVC release]; 

    tabBarController.viewControllers = [NSArray arrayWithObjects:myAlarmNVC,myVideoNVC, myFriendNVC,myMessageNVC,myProfileNVC, nil]; 
    [myAlarmNVC release]; 
    [myVideoNVC release]; 
    [myProfileNVC release]; 
    [myFriendNVC release]; 
    [myMessageNVC release]; 
    [self.window addSubview:tabBarController.view ]; 
    //tabBarController.navigationController.navigationBarHidden = YES; 
    [self.tabBarController release]; 

} 

- (void)tabBarController:(UITabBarController *)tabBarController1 didSelectViewController:(UIViewController *)viewController{ 

    NSArray *vc= tabBarController1.viewControllers; 

    for (int i = 0; i < [vc count]; i++) { 

     UINavigationController *nc = [vc objectAtIndex:i]; 

     if (nc == tabBarController1.selectedViewController) { 

      continue; 
     } 

[nc popToRootViewControllerAnimated:NO]; 
    } 

} 

если вы получили проблему, то просто скажи мне просмотреть имена вашей вкладки

+0

Это то, что мой файл appdelegate.h имеет окно UIWindow *; \t UIViewController * rootViewController; \t UITabBarController * loginTabbarController; Не могли бы вы объяснить, почему вы используете навигационный cpntroller. В моем приложении мне не нужен контроллер навигатора. Названия представлений, которые я хочу иметь в контроллере панели, - это Map, calender и record. – pa12

+0

Можете ли вы рассказать мне о своем проекте, чтобы я мог указать правильный код; – GhostRider

+0

в приведенном выше коде меня заходят на экран входа в систему, и когда я вхожу в кнопку входа в систему, тогда вызывайте webservice, чтобы он возвращал ответ в случае успеха false; если я иду на успех, тогда функция loadtabbar - это вызов, объявленный в appdelegate – GhostRider

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