En Objective-C, usamos este código para establecer códigos de color RGB para las vistas:
#define UIColorFromRGB(rgbValue)
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
view.backgroundColor=UIColorFromRGB(0x209624);
¿Cómo puedo usar esto en Swift?
Respuestas:
Aquí hay una versión Swift de esa función (para obtener una representación UIColor de un
UInt
valor):fuente
Yo quería poner
pero eso no funcionó.
Entonces usé:
para Swift
Así que esta es la solución que encontré.
fuente
Me gustó mucho la respuesta de Nate Cook, pero quería algo un poco más idiomático. Creo que este es un caso de uso realmente bueno para un inicializador conveniente a través de una extensión personalizada.
Esto ahora se puede usar así:
Solo recomendaría a monkey parchear clases UIKit como esta en su propio código de cliente, no en bibliotecas.
fuente
0x
seguido por cualquier color hexadecimal - color-hex.comfuente
La forma más sencilla de agregar color mediante programación es mediante ColorLiteral .
Simplemente agregue la propiedad ColorLiteral como se muestra en el ejemplo, Xcode le mostrará una lista completa de colores que puede elegir. La ventaja de hacerlo es un código menor, agregue valores HEX o RGB . También obtendrá los colores usados recientemente del guión gráfico.
Ejemplo: self.view.backgroundColor = ColorLiteral
fuente
Si está comenzando desde una cadena (no hexadecimal), esta es una función que toma una cadena hexadecimal y devuelve un UIColor.
(Puede ingresar cadenas hexadecimales con cualquier formato:
#ffffff
offffff
)Uso:
Rápido 4:
Swift 3:
Rápido 2:
Fuente: arshad / gist: de147c42d7b3063ef7bc
fuente
Para Xcode 9 , utilícelo
UIColor
con valores RGB.Avance:
Consulte la documentación adicional de Apple sobre UIColor .
fuente
UIColorFromRGB en Swift 4
fuente
He usado lo siguiente en Swift.
fuente
solución para formato argb:
uso:
fuente
Esto funcionó para mí en rápido. Prueba esto
fuente
agregando una opción rápida 3:
fuente
No puede usar macros complejas como
#define UIColorFromRGB(rgbValue)
en Swift. El reemplazo de macro simple en swift es constantes globales comoAún así, las complejas macros que aceptan parámetros no son compatibles con swift. podrías usar funciones en su lugar
Extracto de Uso de swift con cacao y objetivo C
Verifique la respuesta de @Nate Cooks para ver la versión Swift de esa función que se usará aquí
fuente
Puedes usar esto:
fuente
La respuesta de Nate Cook es absolutamente correcta. Solo para mayor flexibilidad, guardo las siguientes funciones en mi paquete:
Y así es como los uso:
Espero que esto ayude. Todo se prueba con Swift 3 / Xcode 8.
fuente
Esta es una buena extensión para UIColor. Puede usar valores de enumeración (hexadecimal, cadena) y valores de cadena directa al crear objetos UIColor.
La extensión que nos merecemos https://github.com/ioramashvili/UsefulExtensions/blob/master/Extensions.playground/Pages/UIColor.xcplaygroundpage/Contents.swift
fuente
Puedo ver que ya ha sido respondido, pero aún espero que una línea ayude de una mejor manera.
Actualizado: Cambios realizados según el ejemplo explicado por el autor de la pregunta para proporcionar valores hexadecimales
fuente
En Swift3, si está comenzando con un color que ya ha elegido, puede obtener el valor RGB en línea ( http://imagecolorpicker.com ) y usar esos valores definidos como UIColor. Esta solución los implementa como fondo:
@Vadym mencionó esto anteriormente en los comentarios y es importante definir el CGFloat con un solo punto decimal
fuente
fuente
Eso se puede hacer simplemente usando esta inicialización
fuente