/ / Задаване на заглавието на навигационната лента? - iphone, цел-c, ios, uiviewcontroller, uinavigationbar

Задайте заглавието на навигационната лента? - iphone, цел-c, ios, uiviewcontroller, uinavigationbar

Опитах всичко, за което мога да мисля тук.

self.navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
self.navigationBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
self.navigationBar.topItem.title = @"Title";
self.navigationItem.title = @"Title";
self.title = @"Title";
self.navigationBar.topItem.titleView.backgroundColor = [UIColor blueColor];
self.navigationController.navigationBar.topItem.title = @"Title";
[self.view addSubview:self.navigationBar];

Опитах всички тези неща с надеждата, че някой ще работи, но никой от тях няма. Как да променя заглавието на тази навигационна лента? Това е вътре в метода на UIViewController.

Отговори:

1 за отговор № 1

Трябва да зададете масив на персонализираната ви навигация в NavigationBar.Трябва да преминете в масив с един елемент, който има посоченото от вас заглавие:

UINavigationBar *bar = [[[UINavigationBar alloc] init] autorelease];

UINavigationItem *navItem = [[[UINavigationItem alloc] initWithTitle:@"Title"] autorelease];
bar.items = [NSArray arrayWithObject:navItem];

1 за отговор № 2

Това винаги работи за мен:

self.navigationItem.title = @"Title";

0 за отговор № 3

Не знам точно защо искаш да я включиш, обикновено бих предпочел да поставим този код в прегледа Дидолад.

Това, което е проблематично с вашетокодът е, че когато заредите UINavigationBar, той няма елементи в масивите си. По този начин всъщност изпращате съобщение до нула, което няма да срине програмата ви, но няма да направи нищо.

Това е, което правя.

- (void)viewDidLoad
{
[super viewDidLoad];
UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
navigationBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[navigationBar setItems:[NSArray arrayWithObject:[[UINavigationItem alloc]initWithTitle:@"Title"]]];
navigationBar.topItem.titleView.backgroundColor = [UIColor blueColor];
[self.view addSubview:navigationBar];
}

0 за отговор № 4

Ако след това използвате контролер за навигация

self.title = @"My Title";

трябва да го направите в iOS 7.