Я вообще отладчик пациентов, проводя много времени в Google и ищу ответ на мою проблему. Однако мое терпение закончилось, и я начинаю считать, что это просто невозможно.Как изменить шрифт UIBarButtonItem в Swift?
Однако я работаю над приложением iOS, используя панель навигации, и решил использовать шрифт «Optima» для всего моего пользовательского интерфейса. Я смог изменить шрифт заголовка моей панели навигации, а также кнопку настраиваемой панели навигации на моем первом представлении. Но при любых последующих представлениях шрифт на моей задней панели по умолчанию используется системой. Для моей жизни я не могу найти способ изменить это.
Я пробовал все, что пришло на поиск, и самый близкий успех у меня был от this blog post.
Этот код ниже работал для меня, но, конечно, менял обратную кнопку на изображение, не меняя шрифт, как я надеялся.
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "Tab_Trophy")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "Tab_Trophy")
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
(Кстати, код выше в viewDidLoad() мнение, моя кнопка назад пришлет пользователю)
Во всяком случае, я попытался с помощью setTitleTextAttributes ниже в разных местах, но безрезультатно.
setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Optima", size: 19.0)!], forState: .Normal)
Так что мой вопрос: можно ли это сделать? Или мне нужно сделать изображение с текстом в шрифте, который я хочу, и использовать вышеприведенный код, который работает?
Я пробовал оба ваши предложения, и приложение по-прежнему настаивает на системном шрифте. Возможно, я что-то делаю неправильно, или у меня есть другая часть моего раскадровки или кода, который это испортит. Я сейчас только соглашусь на системный шрифт, но если я наткнулся на решение, которое я опубликую. –
Кажется, что все, что вы делаете, переписывается чем-то другим, вам нужно исправить это, прежде чем вы сможете что-либо сделать. – Ander
ОП попросил изменить элементы панели кнопок. UINavigationBar.appearance(). TitleTextAttributes изменяет только элементы навигации. См. Мой ответ для ответа. –