temporales - Cambiar el color del tinte global-iOS7/iOS8
tintes permanentes marcas (5)
¿Cómo podemos cambiar el color del tinte global en iOS7 / iOS8 por código? Quiero cambiar varios objetos que usan esta propiedad, pero no cambiar cada uno, es por eso que quiero usar la propiedad de tinte global.
Hay dos formas de cambiar el color de tinte global. Como se mencionó anteriormente, podría cambiar self.window.tintColor
en -application:didFinishLaunchingWithOptions:
Una forma más elegante, en mi opinión, es establecer Global Tint en File Inspector en su Storyboard mientras no se selecciona nada. De esta manera, su -application:didFinishLaunchingWithOptions:
es más -application:didFinishLaunchingWithOptions:
.
[[UIView appearance] setTintColor:[UIColor greenColor]];
Puede especificar un color de tinte para toda la aplicación configurando la propiedad del tinte de la ventana. Para hacer esto, puede usar un código similar al siguiente:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.tintColor = [UIColor purpleColor];
return YES;
}
Simplemente cambie el UIWindow
de tintColor
en su delegado de aplicación, se pasa automáticamente por defecto a todos sus descendientes de UIView
.
[self.window setTintColor:[UIColor greenColor]];
Actualizado para Swift 2.2
Puedes hacer esto desde cualquier lugar como este:
// Get app delegate
let sharedApp = UIApplication.sharedApplication()
// Set tint color
sharedApp.delegate?.window??.tintColor = UIColor.green()
O si está intentando hacer esto desde AppDelegate,
//self.window?.tintColor = UIColor.green()