UIAppearance Swift 4



更新到 Swift 4 后,我收到编译器错误:

Static member 'appearance' cannot be used on protocol metatype 'UIAppearance.Protocol'

这是我在自定义标签栏控制器子类中的viewWillAppear方法,我正在设置项目文本的字体。

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// compiler error on line below
UIAppearance.appearance().setTitleTextAttributes([NSAttributedStringKey.font: font], for: UIControlState.normal)
}

我在解决此问题时遇到问题,任何指导将不胜感激,谢谢!

对 - 当前的 Swift 4 转换工具(从 Xcode 9 Beta 4 开始(有点得意忘形。

我能够通过还原UIAppearance转换代码,然后更新各个属性来快速解决问题。

例如,在 Swift 3 中,我有:

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: .selected)

Xcode通过将其更改为"帮助"了我:

UIAppearance.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.white], for: .selected)

我能够通过半还原来消除错误,以:

UITabBarItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.white], for: .selected)

相关内容

  • 没有找到相关文章

最新更新