Изменить шрифт UIBarButtonItem - PullRequest
128 голосов
/ 13 января 2012

UIToolbar with UIBarButtonItem

У меня есть UIBarButtonItem в моем UIToolbar под названием Готово . Теперь я хочу изменить шрифт со значения по умолчанию на "Trebuchet MS" с полужирным шрифтом. Как я могу это сделать?

Ответы [ 15 ]

0 голосов
/ 08 июля 2019

В завершение я хотел бы добавить этот метод, все еще используемый в Objective-C в 2019 году. :)

_titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_titleLabel.text = _titleBarButtonItem.title;
_titleLabel.textColor = UIColor.whiteColor;
_titleLabel.font = [UtilityMethods appFontProDisplayBold:26.0];

[_titleLabel sizeToFit];
UIBarButtonItem *titleLabelItem = [[UIBarButtonItem alloc] initWithCustomView:_titleLabel];
0 голосов
/ 24 февраля 2019

Это правильный путь: объявите ваш barButtonItem (в данном случае rightBarButtonItem) и добавьте его setTitleTextAttributes.

navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Go!", style: .plain, target: self, action: #selector(yourFuncDestination))

после того, как вы можете добавить атрибуты заголовка

navigationItem.rightBarButtonItem?.setTitleTextAttributes([.font : UIFont.systemFont(ofSize: 18, weight: .bold), .foregroundColor : UIColor.white], for: .normal)

, которые вы можете изменитьразмер, вес (жирный, тяжелый, обычный и т. д.) и цвет, какой вы предпочитаете ... Надеюсь, это поможет:)

0 голосов
/ 13 января 2012

Вы можете создать пользовательский UIView программным способом:

UIView *buttonItemView = [[UIView alloc] initWithFrame:buttonFrame];

Затем добавить изображения, метки или все, что вам нравится, в ваш пользовательский вид:

[buttonItemView addSubview:customImage];

[buttonItemView addSubview:customLabel];

...

Теперь поместите его в свойUIBarButtomItem.

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:buttonItemView];

И, наконец, добавьте barButtonItem на панель навигации.

0 голосов
/ 13 января 2012

Предполагая, что вы хотите поддерживать iOS4 и более ранние версии, лучше всего создать кнопку бара с помощью метода initWithCustomView: и предоставить собственный вид, который может быть чем-то вроде UIButton, в котором вы можете легко настроить шрифт.

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

К сожалению, это означает создание фонового изображения кнопки самостоятельно. Нет способа настроить шрифт стандартного UIBarButtonItem до iOS5.

0 голосов
/ 13 января 2012

UIBarButton не имеет свойства, связанного с изменением шрифта.Но вы можете создать кнопку с пользовательским шрифтом, а затем добавить в UIBarButton.Может быть решена ваша проблема

...