2016-08-10 2 views
0

Во время этапа настройки я пытался установить атрибуты заголовкаэкземпляров, используемых в приложении для обоих состояний: UIControlStateNormal и UIControlStateHighlighted.Невозможно установить атрибуты текста заголовка элемента UIBarButtonItem для выделенного состояния

Для состояния .Normal баттона следующий код работает отлично:

barButton.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(18.0)], forState: .Normal) 

Однако, если изменить параметр состояния, чтобы .Highlighted код не имеет никакого эффекта. Во-первых, я подумал, может быть, это что-то не так с текущим приложением, поэтому я создал новый проект с нуля только с одной панелью инструментов и одним UIBarButtonItem, но проблема все еще здесь.

Даже установка название атрибутов для всех элементов, используя внешний вид прокси не имеет никакого эффекта, так что следующий код ничего не делает:

// Has no effect 
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.redColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted) 

// This one has no effect too 
UIBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor(), NSFontAttributeName: UIFont.systemFontOfSize(28.0)], forState: .Highlighted) 

Am я что-то отсутствует, или это ошибка от Apple? В документации не упоминаются предостережения относительно атрибутов заголовка UIBarButtonItem для выделенных состояний.

ответ

-1

Пожалуйста, проверьте это. Надеюсь, что это работает для вас

https://github.com/shemona-ios/barButtontextChange

+0

Спасибо за ваши усилия, но вот две проблемы с кодом: 1) шрифт этой кнопки не изменяется 2) Если я добавить 'UIToolBar' в нижней части экрана и затем добавьте 'UIBarButtonItem' к этому, этот код не работает полностью (я имею в виду, ни цвет, ни шрифт не меняется). Для. Нормального состояния он отлично работает. – Storix

+0

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

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