簡體   English   中英

導航欄不顯示標題

[英]Navigation Bar not showing title

我無法獲得導航欄來顯示我指定的標題。 我試圖更改AppDelegate.m中以及第一個選項卡視圖的viewDidLoad中的標題。 我懷疑標題被隱藏了,但無法修復。 請提供您可能有的任何見解。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    navigationController = [[UINavigationController alloc] initWithNavigationBarClass:[CRGradientNavigationBar class] toolbarClass:nil];


    UIColor *firstColor = [UIColor colorWithRed:155.0f/255.0f green:41.0f/255.0f blue:104.0f/255.0f alpha:1.0f];
    UIColor *secondColor = [UIColor colorWithRed:215.0f/255.0f green:90.0f/255.0f blue:18.0f/255.0f alpha:1.0f];

    NSArray *colors = [NSArray arrayWithObjects:firstColor, secondColor, nil];

    [[CRGradientNavigationBar appearance] setBarTintGradientColors:colors];

    self.navigationController.title = @"This title is not showing";

    [[navigationController navigationBar] setTranslucent:NO]; 


    //create the view controller for the first tab
    self.firstViewController = [[FirstViewController alloc] initWithNibName:nil
                                                                     bundle:NULL];

    //create the view controller for the second tab
    self.secondViewController = [[SecondViewController alloc] initWithNibName:nil
                                                                       bundle:NULL];

    //create the view controller for the third tab
    self.thirdViewController = [[ThirdViewController alloc] initWithNibName:nil
                                                                       bundle:NULL];

    //create the view controller for the fourth tab
    self.fourthViewController = [[FourthViewController alloc] initWithNibName:nil
                                                                     bundle:NULL];

    //create an array of all view controllers that will represent the tab at the bottom
    NSArray *myViewControllers = [[NSArray alloc] initWithObjects:
                                  self.firstViewController,
                                  self.secondViewController, self.thirdViewController, self.fourthViewController, nil];

    //initialize the tab bar controller
    self.tabBarController = [[MainUITabBarController alloc] init];

    //set the view controllers for the tab bar controller
    [self.tabBarController setViewControllers:myViewControllers];


    [navigationController setViewControllers:@[self.tabBarController]];

    [self.window setRootViewController:navigationController];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];  

    return YES;

}

您的視圖控制器的關系不正確。

  1. 應用程序的根視圖控制器應為TabBarController。

  2. 每個項目都應具有自己的導航控制器。

  3. 每個ViewController的標題都可以在viewDidLoad()使用self.title = "...

我已經能夠按如下所示在委托中設置標題:1.)創建視圖控制器2.)設置那些標題3.)然后創建UINavigationControllers並在那里分配視圖控制器

self.firstViewController = [[FirstViewController alloc] initWithNibName:nil bundle:nil];
self.secondViewController = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
self.thirdViewController = [[ThirdViewController alloc] initWithNibName:nil bundle:nil];
self.fourthViewController = [[FourthViewController alloc] initWithNibName:nil bundle:nil];

[self.firstViewController setTitle:@"First"];
[self.secondViewController setTitle:@"Second"];
[self.thirdViewController setTitle:@"Third"];
[self.fourthViewController setTitle:@"Fourth"];

UINavigationController *controller1 = [[UINavigationController alloc] initWithRootViewController:self.firstViewController];
UINavigationController *controller2 = [[UINavigationController alloc] initWithRootViewController:self.secondViewController];
UINavigationController *controller3 = [[UINavigationController alloc] initWithRootViewController:self.thirdViewController];
UINavigationController *controller4 = [[UINavigationController alloc] initWithRootViewController:self.fourthViewController];

NSArray *viewControllers = [NSArray arrayWithObjects:controller1, controller2, controller3, controller4, nil];

暫無
暫無

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

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