ios swift uiappearance xcode9-beta swift4

ios - Apariencia UIA Swift 4



uiappearance xcode9-beta (1)

Después de actualizar a Swift 4, recibo un error del compilador:

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

Aquí está mi método viewWillAppear en mi subclase de controlador de barra de pestañas personalizado, estoy configurando la fuente del texto del elemento.

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

Estoy teniendo problemas para solucionar esto, cualquier orientación sería apreciada, gracias!


Derecha: la herramienta de conversión Swift 4 actual (a partir de Xcode 9 Beta 4) se deja llevar un poco.

Pude solucionar el problema rápidamente revirtiendo el código de conversión de UIAppearance y luego actualizando los atributos individuales.

Por ejemplo, en Swift 3 tuve:

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

Xcode "me ayudó" cambiándolo a:

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

Fui capaz de silenciar los errores por medio de revertir, para:

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