¿El color del button de barra de tabs en Swift 3?

En Swift 2 utilicé un atributo de time de ejecución definido por el usuario en Storyboard con una ruta key de tintColor para cambiar los colors del ícono de la barra de tabs. Sin embargo, parece que se eliminó tintColor con Swift 3. ¿Cómo puedo cambiar el color seleccionado de los elementos de la barra de tabs en un controller de barra de tabs en Swift 3?

¡Gracias!

EDITAR: captura de pantalla adjunta

introduzca la descripción de la imagen aquí

Utilice tabBarItem.setTitleTextAttributes para cambiar el color del text de los elementos de la barra individual.
Ponga esto en el método viewDidLoad de cada pestaña:

 self.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.networking()], for:.selected) 

Para cambiar el color del icono y del tinte de text, una solución simple es cambiar el color del tinte de tabBar en el método viewWillAppear de cada pestaña:

 override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.tabBarController?.tabBar.tintColor = UIColor.networking() } 

Otra solución para cambiar el color de tinte de image es crear una extensión para UIImage y usarlo para cambiar la image seleccionada con tinte personalizado:

 extension UIImage { func tabBarImageWithCustomTint(tintColor: UIColor) -> UIImage { UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale) let context: CGContext = UIGraphicsGetCurrentContext()! context.translate(x: 0, y: self.size.height) context.scale(x: 1.0, y: -1.0) context.setBlendMode(CGBlendMode.normal) let rect: CGRect = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height) context.clipToMask(rect, mask: self.cgImage!) tintColor.setFill() context.fill(rect) var newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() newImage = newImage.withRenderingMode(UIImageRenderingMode.alwaysOriginal) return newImage } } 

Use este código para cambiar la image seleccionada:

 self.tabBarItem.selectedImage = self.tabBarItem.selectedImage?.tabBarImageWithCustomTint(tintColor: UIColor.networking()) 

El último código como par Swift 3 es

extensión UIImage {

 func tabBarImageWithCustomTint(tintColor: UIColor) -> UIImage { UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale) let context: CGContext = UIGraphicsGetCurrentContext()! context.translateBy(x: 0, y: self.size.height) context.scaleBy(x: 1.0, y: -1.0) context.setBlendMode(CGBlendMode.normal) let rect: CGRect = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height) context.clip(to: rect, mask: self.cgImage!) tintColor.setFill() context.fill(rect) var newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() newImage = newImage.withRenderingMode(UIImageRenderingMode.alwaysOriginal) return newImage } 

}