2012-04-12 2 views
7

Я создал навигационный контроллер программно,Установка титра для панели навигации в Xcode

 //Creating AddViewController Object 
     addViewController *addView = [[addViewController alloc]init]; 
     UINavigationController *addViewControl = [[UINavigationController alloc]init]; 

     [addViewControl.view addSubview:addView.view]; 

     [self presentModalViewController:addViewControl animated:YES]; 

Но когда я добавить self.title = @ «Заголовок» в классе addViewController. он не отображается.

я попытался с нижеследующим,

self.navigationItem.title = @"Title"; 

self.navigationController.navigationBar.topItem.title = @"Title"; 

Но это не отображается заголовок.

Я думаю, что это можно сделать с установкой ярлыка. но приведенный выше является прямым методом.

Любая идея ..

+1

Вопрос: КОГДА вы устанавливаете этот заголовок. Это должно быть сделано в течение или перед viewWillAppear вызывается на этом только что отображаемом viewController. – Till

+0

Я с @Till - из apple docs - «Используйте метод initWithTitle: для создания элемента навигации, определяющего заголовок элемента. Элемент не может быть представлен на панели навигации без заголовка». т.е. ему нужно сначала установить – AnthonyBlake

+0

@Anthony: я не использую ни одного xib-файла для установки названия и имени ниба. – Anish

ответ

5

Попробуйте инициализировать навигационному контроллер так:

UINavigationController *addViewControl = [[UINavigationController alloc] initWithRootViewController:addView]; 
[self presentModalViewController:addViewControl animated:YES]; 
//[addView release]; 
//[addViewControl release]; // uncomment these two lines if not using ARC 

А затем установите title недвижимость вашего addViewController в методе viewWillAppear.

+0

Это сработало ... Thanx Alexander – Anish

14

Вы должны присвоить титул на addView как addView.title = @"Title";

Другой способ сделать это self.navigationItem.title = @"Title";

+0

Это не работает – Anish

+1

Спасибо, это сработало для меня. – James

0

Навигационная контроллер не правильно настроен:

UINavigationController *addViewControl = [[UINavigationController alloc]initWithRootViewController:addView]; 
// delete this line: [addViewControl.view addSubview:addView.view]; 
+0

Спасибо, Феликс. Дай мне проверить – Anish

6

Это, кажется, работает хорошо для меня

self.navigationController.navigationBar.topItem.title = @"Title"; 
0

Это работает в приложении, которое я создаю:

[self.navigationItem setTitle:@"title here"]; 
Смежные вопросы