2013-09-28 43 views
0

我一直在试图改变我的选项卡的标题用下面的代码,更改标题中的UITabBarController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 

    if (self) { 

     self.title = @"City Search"; 
     self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:1]; 
    } 

    delegate = (AWSAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    return self; 
} 

这给了我一个iOS原生搜索图标和测试。但我想要做的就是添加自己的标题,我试着做以下,

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 

    if (self) { 

     self.tabBarItem = [[UITabBarItem alloc] init] 
     self.tabBarItem.image = myImage; 
     self.tabBarItem.title = @"FooBar"; 
    } 

    delegate = (AWSAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    return self; 
} 

然而,这只是给了我一个空白标签,没有任何文字,一切工作正常。你能帮忙吗? 我使用iOS 6

回答

0

实际遵循的工作:)不过我已经注意到,如果图像文件不存在,这是不行的...

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    delegate = (AWSAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    if (self) { 

     self.title = @"City Search"; 
     [self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"about_tap_icon.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"about_tap_icon.png"]]; 
     [self.tabBarItem setBadgeValue:@"about"]; 
     [self.tabBarItem setTitle:@"hello"]; 
    } 

    return self; 
} 
2

这里有一个简单的解决方案, 你的形象必须是黑色和白色,并在适当的大小下面的代码30X30

self.title=NSLocalizedString(@"foobar", nil); 
    self.tabBarItem.image=[UIImage imageNamed:@"image.png"]; 
+0

嗨抱歉后期靠,这工作,但它也改变了标题栏标题? –

2

使用:

myTabItemContainViewController *addVC = [[myTabItemContainViewController alloc] init]; /// initialize object of your viewController  
self.tabBarItem = [[UITabBarItem alloc] init] 
self.tabBarItem.image = myImage; 
self.tabBarItem.title = @"FooBar"; 
[addVC setTabBarItem: self.tabBarItem ]; 

您需要将你的tabBarItem添加到你特定的viewController。

+0

你好:)对不起,迟交回复。这似乎没有工作? –

0

这个UIViewController的UITabBarItem已经被创建和添加 - 所以不需要分配一个新的。

只需修改当前的UITabBarItem。

您还可以设置选择图像,像这样:

-(void)awakeFromNib 
{ 
    self.title = @"City Search"; 
    [self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"citySearch_selected"]withFinishedUnselectedImage:[UIImage imageNamed:@"citySearch_unselected"]]; 
}