Изменить заголовок в 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
4 ответа
Следующее действительно работает:) Однако я заметил, что если файл изображения не существует, это не будет работать...
- (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;
}
Вот простое решение, ваше изображение должно быть черно-белым и в правильном размере 30х30
self.title=NSLocalizedString(@"foobar", nil);
self.tabBarItem.image=[UIImage imageNamed:@"image.png"];
Используйте следующий код:
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.
UITabBarItem для этого UIViewController уже был бы создан и добавлен - поэтому нет необходимости выделять новый.
Просто измените текущий UITabBarItem.
Вы также можете установить выбранное изображение так:
-(void)awakeFromNib
{
self.title = @"City Search";
[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"citySearch_selected"]withFinishedUnselectedImage:[UIImage imageNamed:@"citySearch_unselected"]];
}