Colores en Swift: UIColor

UIColor permite personalizar el color para el modo oscuro, proporciona un conjunto semántico de colores "de Apple" y también permite establecer no solo el color, sino también el patrón de relleno del espacio, lo que nos grita. que UIColor no es un color en absoluto. Echemos un vistazo rápido a estos pasillos UIColor.





UIColor es una clase que almacena datos de color y transparencia. El color en iOS se puede representar en diferentes espacios de color, el más famoso de los cuales es RGB. De hecho, el color en sí se almacena en la propiedad cgColor de la clase CGColor. Hay varias entidades en iOS que pueden almacenar información de color, cada una para su propio marco:





  • para UIKit es la clase UIColor, 





  • para SwiftUI es una estructura de color, 





  • para Core Graphics, esta es la clase CGColor, 





  • para Core Image, esta es la clase CIColor





En este artículo, intentaré hablar sobre la clase UIColor, que es parte del marco UIKit.





Colores del sistema

UIKit tiene algunos colores predefinidos que puede usar en su proyecto. Por ejemplo, verde UIColor.green o, a menudo, simplemente .green es suficiente. Al escribir así, se utilizará un color específico con valores RGB de 0.0, 1.0, 0.0 y un nivel de transparencia de 1.0. Pero en UIColor, el color UIColor.systemGreen también está definido. ¿En qué se diferencia del UIColor.green habitual? 





Desde iOS 13.0, ha aparecido el modo oscuro. El usuario puede elegir en la configuración del sistema en qué tema de color le resulta más cómodo trabajar, en un tema claro o en uno oscuro. Y el color verde para estos modos será ligeramente diferente. Además, para una percepción cómoda, el usuario puede elegir un modo de alto contraste que aumenta el contraste entre los elementos de la interfaz y el fondo. Y el color verde para este modo también será diferente. 





, , , Apple, , . - , , "system...":





  • systemBlue





  • systemIndigo





  • systemOrange





  • systemPink





  • systemPurple





  • systemRed





  • systemTeal





  • systemYellow





- - , , .





, , - , , ..





  • systemGray





  • systemGray2





  • systemGray3





  • systemGray4





  • systemGray5





  • systemGray6





, , . .





Black White, . .





, . UIKit tintColor, , - , , , UISegmentControl .. - , brandColor primaryBrandColor/secondaryBrandColor. .





, - . , UILabel . , UILabel .red, :





let primaryTextColor = UIColor.red







UILabel :





label.textColor = primaryTextColor







- , . primaryTextColor.





. , .





UIKit

Apple , . , . UIKit .





:





  • label -





  • secondaryLabel -





  • tertiaryLabel -





  • quaternaryLabel -





, , secondaryLabel , tertiaryLabel . 





:





  • systemFill





  • secondarySystemFill





  • tertiarySystemFill





  • quaternarySystemFill





Apple / , , ..





:





  • placeholderText





:





  • systemBackground





  • secondarySystemBackground





  • tertiarySystemBackground





.





:





  • systemGroupedBackground





  • secondarySystemGroupedBackground





  • tertiarySystemGroupedBackground





.grouped .





:





  • separator





  • opaqueSeparator





:





  • link





, :





  • darkText





  • lightText





UIKit , , . 





Apple.





, Dark Light

- XCode Assets Color Set, Dark Light Mode Appearances. , .





¿Dónde puedo encontrar configuraciones de color en Activos en Xcode?
Assets XCode

:





let color = UIColor(named: "ColorName")







" " iOS.





- , .





UIColor:





init(dynamicProvider: @escaping (UITraitCollection) -> UIColor)







UITraitCollection - , Dark Light , .. userInterfaceStyle .





:





let color = UIColor { traitCollection -> UIColor in







    switch traitCollection.userInterfaceStyle {







        case .light, .unspecified: return .white







        case .dark: return .black







    }







}







UIColor :





  • HSB, RGB





  • UIColor









  • - UIColor ...





init(patternImage image: UIImage)







UIColor, , . , , UILabel, -  (. ).





- , . " ", " ".





Aunque UIColor es una clase bastante simple, proporciona capacidades de gestión del color basadas en la configuración actual. Además, como vimos, puede establecer no solo el color, sino también el método general para llenar el espacio. Para ayudar a los desarrolladores, Apple proporciona un conjunto de colores semánticos que simplifican el desarrollo y le permiten cambiar ligeramente el color de los elementos de la interfaz.








All Articles