ios - 从 View Controller 加载 Tabbar Controller

标签 ios iphone xcode

我正在处理一个项目,其中我必须有一个登录页面,成功登录后,当我尝试使用以下代码加载选项卡栏 Controller 时,我们应该有一个选项卡栏 View (我正在使用选项卡栏 Controller )。没有任何结果。

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

请帮助我。

最佳答案

我做同样的工作,但我在登录响应成功后调用 appdelegate [mAppDelegate loadTabbar];//调用delegate文件中的函数加载标签栏 View ,代码如下

#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];
    }

}

如果您遇到问题,请告诉我您的标签栏的 View 名称

关于ios - 从 View Controller 加载 Tabbar Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878851/

相关文章:

ios - 是否可以将文件从应用程序沙箱复制到应用程序包?

ios - 委托(delegate)仍然为零

ios - 比较不同格式的电话号码

iphone - 如何删除某个注释图钉

iphone - 找不到实例方法(返回类型默认为id)

ios - 如何在 Sprite Kit 中执行没有触摸 Action 的平移?

iphone - 如何检查 UILabel 是否已启用?

iphone - 在 iPad (iOS 7) 上运行 iPhone 应用程序时,scalesPageToFit 无法正常工作

ios - 如何从我的 iPhone 应用程序连接到在线数据库?

ios - 如何附加 ScrollView 的委托(delegate)方法?