Swift 4に更新した後、コンパイラエラーが発生します。
Static member 'appearance' cannot be used on protocol metatype 'UIAppearance.Protocol'
カスタムTab Bar Controllerサブクラスの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)