ios - temperas - como se hace el color azul
¿Cómo puedo obtener el color azul predeterminado de iOS 7 mediante programación? (14)
4 maneras rápidas:
extension UIColor {
static let system = UIView().tintColor!
}
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 con IB, como se ve aquí:
Sin embargo, no he encontrado cómo acceder fácilmente al color mediante programación. Revisé la documentación de UIColor , y no parece haber ningún elemento de acceso para el color azul del sistema en la propia clase.
Aquí está mi pregunta: ¿existe un acceso simple para este color? [UIColor ?]
O algo así? Si no, ¿alguien sabe los valores RGB exactos para ese color?
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:
@interface UIColor (iOS7Colors)
+ (instancetype)iOS7blueColor;
@end
@implementation UIColor (SpecialColors)
+ (instancetype)iOS7blueColor;
{
return [UIColor colorWithRed:0.0f green:0.22f blue:122.0/255.0 alpha:1.0f];
}
Una vez que importe la categoría en su código, puede llamar al color usando:
UIColor *myBlueColor = [UIColor iOSblueColor];
Aquí hay un método simple para obtener el color de tinte predeterminado del sistema:
+ (UIColor*)defaultSystemTintColor
{
static UIColor* systemTintColor = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
UIView* view = [[UIView alloc] init];
systemTintColor = view.tintColor;
});
return systemTintColor;
}
Código de color hexadecimal
#007AFF
y necesitas esta biblioteca https://github.com/thii/SwiftHEXColors
PD. iOS, Swift
Desde iOS 7 hay una API y puede obtener (y configurar) el color del tinte con:
self.view.tintColor
O si necesitas el CGColor:
self.view.tintColor.CGColor
El color azul predeterminado de iOS 7 es R:0.0 G:122.0 B:255.0
UIColor *ios7BlueColor = [UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0];
El método UIWindow.tintColor
no funcionaba para mí en iOS8 (aún era negro), así que tuve que hacer esto:
let b = UIButton.buttonWithType(UIButtonType.System) as UIButton
var color = b.titleColorForState(.Normal)
Esto le dio el tinte azul adecuado visto en un UIBarButtonItem
En muchos casos lo que necesitas es solo
[self tintColor]
// or if in a ViewController
[self.view tintColor]
o para rápido
self.tintColor
// or if in a ViewController
self.view.tintColor
Esta extensión te da el color azul del sistema nativo.
extension UIColor {
static var systemBlue: UIColor {
return UIButton(type: .system).tintColor
}
}
Uso:
myView.tintColor = .systemBlue
UPD: lo hizo estático debido al rendimiento de la memoria, gracias a DmitryKozlov por señalarlo.
Mientras configura el color, puede establecer un color como este
[UIColor colorWithRed:19/255.0 green:144/255.0 blue:255/255.0 alpha:1.0]
Obtén el color automáticamente usando este código:
static let DefaultButtonColor = UIButton(type: UIButtonType.System).titleColorForState(.Normal)!
Parece ser [UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0]
.
Según la documentación de UIButton:
En iOS v7.0, todas las subclases de UIView derivan su comportamiento para tintColor de la clase base. Vea la discusión de tintColor en el nivel UIView para más información.
Suponiendo que no cambie el tintColor antes de tomar el valor predeterminado, puede usar:
self.view.tintColor
Utilice self.view.tintColor
desde un controlador de vista o self.tintColor
desde una subclase UIView
.