簡體   English   中英

TabBarController和NavigationController

[英]TabBarController and NavigationController

我正在制作一個應用程序,但我仍然是一個初學者,我試圖適應RootViewController及其應如何設置。

在我的應用程序啟動時,我希望有一個不在tabBarController中的View(該視圖設置為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;
}

是! 當然可以。

[self.view addsubview:yourTabbar.view];

希望這會幫助你。

我知道您已經選擇了答案,但是所有要做的就是將UITabBar視圖推到現有視圖的頂部,而不是創建新的UITabBarController視圖。 根據我們簡短的交談(最新的XCode,沒有StoryBoards,使用XIB),您將需要創建一個xib作為UITabBarController,然后將其推入視圖...

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

發生所需的操作時,這將顯示您的XIB文件,但不會顯示在現有視圖控制器的頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM