Во время этапа настройки я пытался установить атрибуты заголовкаэкземпляров, используемых в приложении для обоих состояний: 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) шрифт этой кнопки не изменяется 2) Если я добавить 'UIToolBar' в нижней части экрана и затем добавьте 'UIBarButtonItem' к этому, этот код не работает полностью (я имею в виду, ни цвет, ни шрифт не меняется). Для. Нормального состояния он отлично работает. – Storix
Даже если предложенная ссылка ответит на вопрос, вы должны поместить соответствующие части в свой ответ. –