0

我正在制作一个应用程序,但我仍然是初学者,我正在尝试习惯 RootViewController 以及应该如何设置它。

在我的应用程序启动之初,我希望有一个不在我的 tabBarController 中的视图(设置为我的 rootViewController)。

我想问的是,我可以先在我的 UITabBarController 启动之外有另一个视图,而不是在 tabBarController 的项目列表中吗?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    FacebookFeedViewController *facebookClass = [[FacebookFeedViewController alloc] initWithNibName:@"FacebookFeedViewController" bundle:nil];

    TwitterFeedViewController *twitterClass = [[TwitterFeedViewController alloc] initWithNibName:@"TwitterFeedViewController" bundle:nil];
    LinkedInFeedViewController *linkClass = [[LinkedInFeedViewController alloc] initWithNibName:@"LinkedInFeedViewController" bundle:nil];
    FTLFullFeedViewController *masterClass = [[FTLFullFeedViewController alloc] initWithNibName:@"FTLFullFeedViewController" bundle:nil];

    ///   tab button title

    facebookClass.title = @"Facebook";
    twitterClass.title = @"Twitter";
    linkClass.title=@"LinkedIn";
    masterClass.title=@"FTL";

    // tab button Images
    facebookClass.tabBarItem.image = [UIImage imageNamed:@"facebook_32"];
    twitterClass.tabBarItem.image = [UIImage imageNamed:@"twitter_32"];

    WelcomeViewController *welcomeClass= [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil];

    navController = [[ UINavigationController alloc] initWithRootViewController:welcomeClass];

    UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:facebookClass];
    UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:twitterClass];
    UINavigationController *navController4 = [[UINavigationController alloc] initWithRootViewController:linkClass];
    UINavigationController *navController5 = [[UINavigationController alloc] initWithRootViewController:masterClass];

    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController,navController5,navController2,navController3,navController4,nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];

    return YES;
}
4

2 回答 2

0

我知道您已经选择了一个答案,但所做的只是将 UITabBar 视图推送到现有视图之上,而不是创建新的 UITabBarController 视图。根据我们的简短对话(最新的 XCode,没有 StoryBoard,使用 XIB),您将要创建一个 xib 作为 UITabBarController,然后将其推送到视图中......

View *view = [[View alloc] initWithNibName:@"myUITabBarXIB" bundle:nil];
view.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController: view animated:YES];

当所需的操作发生时,这将显示您的 XIB 文件,但不会显示在现有视图控制器之上。

于 2013-06-24T13:58:45.453 回答
0

是的!你当然知道。

[self.view addsubview:yourTabbar.view];

希望这会帮助你。

于 2013-06-24T13:30:37.953 回答