Estoy creando elementos personalizados en mi aplicación y quiero coincidir con el aspecto del nuevo iOS. iOS 7 nos presentó un color azul claro más común, el color o tinte predeterminado para varios elementos, incluido el botón del sistema, el control segmentado, etc. Han facilitado la selección del color usando IB, como se ve aquí:
Sin embargo, no he encontrado cómo acceder fácilmente al color mediante programación. Fui a ver el documentación UIColor , y no parece haber ningún descriptor de acceso para el sistema de color azul en la propia clase.
Aquí está mi pregunta: ¿existe un descriptor de acceso simple para este color? [UIColor ?]
o algo asi? Si no, ¿alguien sabe los valores RGB exactos para ese color?
UIView().tintColor
, pero en realidad no puedes. No estoy seguro de en qué punto el UIView obtiene el color de tinte establecido ...UIWindow
o tal vez su vista raíz tiene la versión original. Las vistas heredan su color de tinte de las vistas más altas en la cadena de respuesta, pero en su ejemplo, la nueva vista no tiene supervista.self.view.tintColor
desde adentroUIViewController.viewDidLoad()
da el azul correcto.Parece ser
[UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0]
.fuente
UIColor(red: 0.0, green: 122.0/255.0, blue: 1.0, alpha: 1.0)
El color azul predeterminado de iOS 7 es
R:0.0 G:122.0 B:255.0
fuente
0x007aff
De acuerdo con la documentación de UIButton:
Suponiendo que no cambia el tintColor antes de tomar el valor predeterminado, puede usar:
fuente
sharedApplication()
no tiene unkeyWindow
contintColor
Aquí hay un método simple para obtener el color de tinte predeterminado del sistema:
fuente
dispatch_once
es bastante baja y es única si se verifica en el caso común.UIColor
en múltiples hilos. Envolverlo en undispatch_once
permite recuperar con seguridad este color en cualquier hilo. Y nuevamente, la sobrecarga es muy baja.Código de color hexadecimal
y necesitas esta biblioteca https://github.com/thii/SwiftHEXColors
PD. iOS, Swift
fuente
4 vías rápidas:
fuente
Esta extensión le da color azul al sistema nativo.
ACTUALIZAR
Olvídese de lo que escribí anteriormente, que acabo de descubrir: hay una extensión nativa con colores de sistema predefinidos que hemos estado buscando, incluido el azul del sistema :
Puedes usarlo directamente:
fuente
static let system = UIView().tintColor!
todavía es mucho mejor que tu variante.Obtenga el color automáticamente usando este código:
fuente
El
UIWindow.tintColor
método no me funcionaba en iOS8 (todavía era negro), así que tuve que hacer esto:Esto dio el tinte azul apropiado visto en un
UIBarButtonItem
fuente
Desde iOS 7 hay una API y puede obtener (y configurar) el color de tinte con:
O si necesita el CGColor:
fuente
En muchos casos lo que necesitas es solo
o por rápido
fuente
mientras establece el color, puede establecer un color como este
fuente
/255.0
con cadargb
valor?Agregar una categoría a UIColor de la siguiente manera lo pondrá a su disposición en cualquier momento que lo necesite o incluso cambiará su definición en su código:
Una vez que importe la Categoría en su código, puede llamar al color usando:
fuente
blue
quered
en+ (instancetype)iOS7redColor;