更改全局UIBarButtonItem外观

Jer*_*nJK 5 uibarbuttonitem ios swift

我使用雨燕打造iOS应用程序,并想改变世界appearanceUIBarButtonItem.我这样做了didFinishLaunchingWithOptions.

Apple的文档说明了这一点:

func setTitleTextAttributes(_ attributes: [String : AnyObject]?, forState state: UIControlState)
Run Code Online (Sandbox Code Playgroud)

UIBarItem.但是当我尝试这样做时,它只是期望self: UIBarItem.有人遇到过这种情况么?这是Xcode中的错误还是我做错了什么?

JAL*_*JAL 7

打电话setTitleTextAttributesUIBarButtonItem 外观代理:

斯威夫特3:

UIBarButtonItem.appearance().setTitleTextAttributes([key : value], for: .normal)
Run Code Online (Sandbox Code Playgroud)

Swift 2.x:

UIBarButtonItem.appearance().setTitleTextAttributes([key : value], forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)


kat*_*000 5

您是否尝试过使用UIAppearance协议实现它?它应该用于全局gustomizing一些视觉类.我可以建议你这样的代码:

UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.classForCoder()]).setTitleTextAttributes(["attribute" : "value"], forState: .Normal)
Run Code Online (Sandbox Code Playgroud)

希望从代码中可以清楚地了解工作方式以及如何使用它.