Изменить шрифт заголовка панели навигации - РАЗЛИЧНЫЙ - PullRequest
2 голосов
/ 06 декабря 2011

Как вы можете видеть на картинке ниже, мой UIViewController НЕ UINavigationController, это обычный UIViewController.То, что я сделал, я поставил UINavigationBar с помощью конструктора интерфейса, а над ним я поставил UIImage.Проблема в том, что я хочу изменить шрифт этого UINavigationBar.Кто-нибудь может понять, как это сделать?

image with the problem

Обычно с общим UINavigationController я использую следующий код:

// this will appear as the title in the navigation bar
self.label = [[UILabel alloc] initWithFrame:CGRectZero];
self.label.backgroundColor = [UIColor clearColor];
self.label.font = [UIFont fontWithName:@"Copperplate" size:22];
self.label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
self.label.textAlignment = UITextAlignmentCenter;
self.label.textColor = [UIColor whiteColor]; // change this color
self.label.text = [self.navigationItem title];
self.navigationItem.titleView = label;
[label sizeToFit];

Ответы [ 2 ]

1 голос
/ 17 ноября 2015

Storyboard Solution

Нет ничего плохого в ответе выше, но очень простой способ сделать это - выбрать панель навигации в раскадровке.Затем измените шрифт заголовка в инспекторе атрибутов.

Title-Font

Nota Bene

Этот метод также очень полезен, когда вы хотите изменитьШрифт для всего набора представлений, когда вы используете контроллер навигации.(Просто поменяйте его в одном месте).Xcode 7.1.1 имеет несколько ошибок.Один из них требует, чтобы вы изменили оттенок полосы по умолчанию на другой цвет (вы всегда можете сбросить его до значения по умолчанию, если это необходимо), чтобы увидеть изменение шрифта.

Приведенное выше в настоящее время не работает при выборе пользовательского шрифта (по состоянию на Xcode 7.1.1).Пожалуйста, см. Следующий SO Ответ для обходного пути, если вам нужен собственный шрифт.(tldr; добавить вывод к кнопке или метке, изменить пользовательский шрифт для этого элемента управления, установить этот элемент управления как UINavigationItem.titleView).

1 голос
/ 06 декабря 2011

Ну, это должно работать так же.Я думаю, вам просто нужно IBOutlet для UINavigationBar или только для UINavigationItem (название для UINavigationBar) и все.

...