我无法以编程方式为标签栏控制器设置标题

Posted

技术标签:

【中文标题】我无法以编程方式为标签栏控制器设置标题【英文标题】:I can not set title to my programatically tab bar controller 【发布时间】:2012-01-28 09:49:04 【问题描述】:

我尝试以编程方式创建标签栏控制器。没关系,但我无法将标题设置为标签栏项目。我该怎么做?

- (void)viewDidLoad

[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

myTabBarController = [[UITabBarController alloc] init];        
tab1 = [[ZiyaretFormTab1 alloc] initWithNibName:@"ZiyaretFormTab1" bundle:nil];   
tab2 = [[ZiyaretFormTab2 alloc] initWithNibName:@"ZiyaretFormTab2" bundle:nil];   
tab3 = [[ZiyaretFormTab3 alloc] initWithNibName:@"ZiyaretFormTab3" bundle:nil];  
tab4 = [[ZiyaretFormTab4 alloc] initWithNibName:@"ZiyaretFormTab4" bundle:nil];    
tab5 = [[ZiyaretFormTab5 alloc] initWithNibName:@"ZiyaretFormTab5" bundle:nil];  

UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"title" image:nil tag:0];
tab1.tabBarItem = item;

myTabBarController.viewControllers = [NSArray arrayWithObjects: tab1, tab2,tab3,tab4,tab5,nil]; 


[self.view addSubview:myTabBarController.view];    
myTabBarController.selectedIndex=0;


【问题讨论】:

【参考方案1】:
UITabBarItem *tabItem = [[[myTabBarController tabBar] items] objectAtIndex:1];
此行中的

1 表示您尝试从数组中获取 second 对象。

UITabBarItem 也有很好的方法initWithTitle:image:tag:。 this 是文档的链接,非常有帮助。

我的解决方案:

1) 创建一些项目:

initWithTitle:image:tag:

2) 使用标签栏方法将它们添加到您的标签栏:

- (void)setItems:(NSArray *)items animated:(BOOL)animated

【讨论】:

我实际上不明白我应该怎么做 objectAtIndex:0 ? 我对 myTabBarController 一无所知。它有多少项目?为什么你会得到第二个项目?您的 tabBar 上是否有第二项。 我的标签栏中有 5 个项目。我也尝试设置 objectAtIndex:0 但它仍然无法正常工作。 嗯,我将 Apple 文档的链接发布到 UITabBarItem。其中没有 setTitle 方法。 我编辑了我的问题,例如你的方式,但它仍然不起作用:S 我该怎么做?

以上是关于我无法以编程方式为标签栏控制器设置标题的主要内容,如果未能解决你的问题,请参考以下文章

Swift:以编程方式嵌入标签栏控制器后,导航栏消失

无法为标签栏设置背景图片

当以编程方式设置根视图控制器时,导航和标签栏丢失

iOS Swift标签栏控制器以编程方式添加项目(新标签)

如何以编程方式从标签栏控制器卸载视图控制器?

Swift-以编程方式导航控制器和标签栏控制器