Ответ 1
Я нашел ответ в конце, это было:
self.tabBarController.navigationItem.title = @"title";
В моем приложении у меня есть UINavigationController в UITabBarController. Все работает нормально, однако я не могу установить заголовок для навигационного контроллера. Я пробовал несколько разных методов и искал Google, но, похоже, не было решения этой проблемы.
Любая помощь будет принята с благодарностью.
Заранее благодарю.
Сэм
Я нашел ответ в конце, это было:
self.tabBarController.navigationItem.title = @"title";
self.navigationItem.title = @"Your Title"
Работает для каждого случая.
Для меня следующее прекрасно работает:
Инициировать контроллеры в 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];
с этим сделано в вашем другом представленииКонтроллеры initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- Метод вы можете изменить заголовок со следующей строкой:
self.title = @"Your Title";
Удачи.
Посмотрите класс UIViewController
в документах. Существует свойство, указывающее на UINavigationItem
, которое затем имеет свойство, указывающее на title
. Если указатель на элемент навигации возвращает nil, вы должны были неправильно подключить контроллеры.
self.title
всегда устанавливает плитку объекта rootViewController
вашего ViewController.
Если у вас есть viewController
, а rootViewController
- UINavigationController
, тогда self.title
установит заголовок UINavigationController
.
Аналогично, если вы инициализировали объект UITabViewController
с объектами UIViewController
, то self.title
будет применяться к соответствующей кнопке заголовка в индексе, UITabBar
UITabViewController
.
Отсюда следует, что self.title
применяется к объекту, содержащему viewController
.