2013-10-11 3 views
12

Я преобразовываю некоторые приложения для iOS7 и испытываю проблемы с текстом в кнопках, размещенных на панели инструментов. Похоже, размер шрифта намного больше и его невозможно изменить. Таким образом, мои текстовые кнопки, которые так хорошо подходят для iOS6, больше не возможны. Экран недостаточно широк. Можно ли настроить это без повторного использования всего приложения? Почему это глупое изменение? Я действительно хочу адаптировать приложения к iOS7 по нескольким причинам.Размер шрифта элемента панели инструментов в iOS7

ответ

22

Вы можете установить атрибуты текста заголовка UIBarItems (включая UIBarButtonItems) с помощью setTitleTextAttributes:forState:. Например, чтобы установить название шрифта текста для всех UIBarButtonItems, вы можете сделать это:

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal]; 

Или, чтобы установить его только один,

[myBarButton setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal]; 

Вы также можете создать UIBarButtonItems, которые содержат UIButtons, и имеют полный контроль над тем, как появляются эти UIButtons (шрифт, размер шрифта и т. д.). Это может быть сделано в Interface Builder путем перетаскивания UIButton на свой UIToolbar, или в коде:

UIButton* button = ...; 
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
[toolbar setItems:@[barButton, ...] animated:YES]; 

Обратите внимание, что ваши IBActions/перетекает необходимо будет подключен к UIButton вместо UIBarButtonItem, если вы берете этот подход ,

+0

Постараюсь, что очень скоро. –

0

Swift:

UIToolbar.appearance().barTintColor = TOOLBAR_BACKGROUND_COLOR 

if let font = UIFont(name: "AvenirNext-DemiBold", size: 15) { 
     UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName:TOOLBAR_TITLE_COLOR], forState: UIControlState.Normal) 

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