15

在我的应用程序中,UITabBarController中有一个UINavigationController。一切工作正常,但我无法设置导航控制器的标题。我尝试了几种不同的方法并搜索,但似乎没有解决这个问题的方法。UITabBarController中的UINavigationController,设置导航控制器标题

任何帮助将不胜感激。

提前谢谢。

山姆

+0

可能的重复:http://stackoverflow.com/questions/2760634/cocoa-touch-setting-uinavigationcontrollers-title-doesnt-work – 2012-03-05 15:56:37

+0

当然,你应该在视图控制器中指定视图控制器的标题,然后导航控制器将会应用正确的标题? – ader 2012-03-05 16:15:05

+0

我在视图控制器中指定了标题。谢谢。山姆。 – shoughton123 2012-03-05 16:23:18

回答

38

我发现在最后的答案,那就是:

self.tabBarController.navigationItem.title = @"title"; 
2
self.navigationItem.title = @"Your Title" 

Works的每一个案件。

+1

我试过这个,它不起作用。 Thankyou虽然! – shoughton123 2012-03-05 16:19:16

+1

这应该工作。检查以确保'self.navigationItem'不返回nil。如果无,请检查您的连接。 – Gobot 2012-03-05 16:43:27

+0

如果你是从xib或从故事板加载,尝试拖动一个navigationItem到你的viewController,如果没有的话 – 2012-03-05 20:45:35

1

对于我下面的作品罚款:

发起appDelegateDidFinishLaunching:方法控制器:

UINavigationController *navContr1; 
UINavigationController *navContr2; 

UIViewController *viewController1, *viewController2; 

viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease]; 
viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease]; 



navContr1  = [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease]; 
navContr2  = [[[UINavigationController alloc] initWithRootViewController:viewController2] autorelease]; 


self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
//self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navContr1, navContr2, nil]; 

self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 

与这个工作,在你的不同viewControllers initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil - 方法可以更改与以下行标题:

self.title = @"Your Title"; 

祝你好运。

+0

不幸的是我已经在我的应用程序中相当深入,所以我不能使用这个确切的方法,但我不是'那不同。但是做自我。标题不起作用,self.title只是设置标签栏的标题。虽然谢谢! – shoughton123 2012-03-05 16:18:33

+0

那么self.navigationController.title = @“新标题”呢? – pmk 2012-03-05 16:57:29

0

看文档中的UIViewController类。有一个房产指向UINavigationItem,然后有一个房屋指向title。如果指向导航项的指针返回nil,则必须没有正确连接控制器。

0

self.title总是将你的ViewController的rootViewController对象的瓷砖。

如果您有viewController &的rootViewControllerUINavigationController,然后self.title将设置的UINavigationController称号。

同样,如果你已经初始化UITabViewControllerUIViewController对象,那么self.title将适用于在指数相对应的按钮标题,对UITabViewControllerUITabBar

因此表示,self.title适用于持有viewController的对象。

相关问题