2015-11-11 3 views
5

Я использую Swift для создания приложения iOS и хотел бы изменить внешний вид UIBarButtonItem. Я делаю это в didFinishLaunchingWithOptions.Изменение внешнего внешнего вида UIBarButtonItem

документация Apple, говорит, что это:

func setTitleTextAttributes(_ attributes: [String : AnyObject]?, forState state: UIControlState) 

для UIBarItem. Но когда я пытаюсь это сделать, он ожидает только self: UIBarItem. кто-нибудь еще сталкивался с этим? Это ошибка в Xcode, или я делаю что-то неправильно?

+0

Это ответ уже много раз. Проверьте это: http://stackoverflow.com/a/28347428/469614 – Vexy

ответ

5

ли вы пытались реализовать его с UIAppearance протоколом? Он должен использоваться для глобального моделирования некоторых визуальных классов. Я могу предложить свой код, например:

UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.classForCoder()]).setTitleTextAttributes(["attribute" : "value"], forState: .Normal) 

Надеется это видно из кода как в работах и ​​как вы можете enwide его.

6

Вызов setTitleTextAttributes на UIBarButtonItemappearance proxy:

Swift 3:

UIBarButtonItem.appearance().setTitleTextAttributes([key : value], for: .normal) 

Swift 2.x:

UIBarButtonItem.appearance().setTitleTextAttributes([key : value], forState: UIControlState.Normal)