2015-05-03 1 views
1

Этот код был найден в другом потоке, но я хочу изменить только один размер шрифта.Как изменить размер шрифта только одного элемента BarButtonItem?

if let font = UIFont(name: "AvenirNext", size: 15) { 
oneBarButtonItem.setTitleTextAttributes([NSFontAttributeName: font], forState: UIControlState.Normal)} 

Итак, где я должен положить код, и это правильно?

+0

Вы говорите нам. Где _did_ вы поместили код и что произошло, когда вы это сделали? – matt

+0

Я положил его в свой основной ViewController и создал выход этой кнопки. Я попробовал viewDidLoad и viewWillAppear, но это не сработало, так что в принципе ничего не произошло –

+0

Не описывайте свой код. _Покажи это. – matt

ответ

3

Вам необходимо наложить этот код в viewDidLoad метод вашего ViewController.

override func viewDidLoad() { 
    super.viewDidLoad() 

    let font = UIFont.systemFontOfSize(20); 
    barButtonItem.setTitleTextAttributes([NSFontAttributeName: font], forState:UIControlState.Normal) 
} 

Ваш код не может работать, потому что вы не шрифт с именем AvenirNext.

Update

Рабочий код Swift 4/IOS 11:

override func viewDidLoad() { 
    super.viewDidLoad() 

    let font = UIFont.systemFont(ofSize: 20) 
    barButtonItem.setTitleTextAttributes([NSAttributedStringKey.font.rawValue: font], forState: .normal) 
} 
+0

его рабочая благодарность :) –

+0

есть способ сосредоточиться на этой кнопке, потому что она больше подходит к началу –

+0

Попробуйте это 'barButtonItem.setTitlePositionAdjustment (UIOffsetMake (0, 20), forBarMetrics: UIBarMetrics.Default);' –