2015-10-13 2 views
0

У меня есть пара элементов навигации (кнопка «Назад», кнопка «Сохранить») на моей навигационной панели. Я пробовал искать соответствующие ответы, я нахожу либо устаревший ответ, либо просто никто.Как изменить шрифт элементов навигации?

Я попробовал setTitleTextAttributes на navigationItem.leftBarButtonItem, но не работал.

Мне удалось изменить шрифт заголовка NavigationBar, но это все. Используя self.navigationBar.titleTextAttribues, тот же метод выполняется с элементами nav, но не работает.

EDIT: Найдено решение, но я должен добавить это на viewWillAppear КАЖДОГО контроллера представления

let barBtn = UIBarButtonItem(title: "Test", style: UIBarButtonItemStyle.Bordered, target: self, action: "backButtonPressed") 
barBtn.setTitleTextAttributes([NSFontAttributeName: UIFont(name: FONT_HERE, size: 12)!], forState: UIControlState.Normal) 
self.navigationItem.setHidesBackButton(true, animated: false) 
self.navigationItem.setLeftBarButtonItem(barBtn, animated: false) 

Затем добавив функцию backButtonPressed, где я называю popViewControllerAnimated.

Как вы думаете, ребята? Есть ли более простое решение?

+4

Возможный дубликат [Как я могу изменить шрифт кнопки возврата для моей навигационной панели?] (Http://stackoverflow.com/questions/27583346/how-can-i-change-the-font -of-the-back-button-for-my-navigation-bar) –

+0

Последовало, не работает. –

+0

вы можете назначить пользовательский ярлык self.navigationItem.titleView – engmahsa

ответ

0

Я предлагаю вам использовать протокол внешнего вида: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAppearance_Protocol/index.html

Вот пример того, как я настроить внешний вид панели навигации.

// Навигация заголовка [[UINavigationBar внешний вид] setTitleTextAttributes: @ {NSFontAttributeName: [UIFont fontWithName: @ "MyFont" размер: 20.0f], NSForegroundColorAttributeName: [UIColor whiteColor] }];

// Navigation bar buttons and background 
[UINavigationBar appearance].tintColor = [UIColor whiteColor]; 
[UINavigationBar appearance].barTintColor = [UIColor teal]; 
[UINavigationBar appearance].translucent = NO; 
+2

UINavigationBar не имеет членства 'setTitleTextAttributes' –

+0

Нет, это внешний вид! Проверьте код, пожалуйста. –

Смежные вопросы