tutorial tab pantalla los icon hora custom como colores color cambiar bar iphone ios xcode uitabbarcontroller uitabbar

iphone - pantalla - uitabbarcontroller swift 4



Cómo cambiar el Color del texto en UITabBarItem en iOS 5 (6)

¿Te refieres a este? Tenga en cuenta que esto solo funciona para iOS5.0 o posterior.

if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes:)]) { NSLog(@"*** Support method(iOS 5): setTitleTextAttributes:"); [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, [UIColor blackColor], UITextAttributeTextColor, [UIColor grayColor], UITextAttributeTextShadowColor, [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset, nil]]; }

La documentación de Apple sobre la personalización de la apariencia:

En iOS v5.0 y posterior, puede personalizar la apariencia de las barras de pestañas estableciendo atributos de texto de etiqueta de elemento usando los selectores de aspecto declarados por UIBarItem. También puede usar los métodos enumerados en "Personalización de la apariencia". Puede personalizar la apariencia de todos los controles segmentados utilizando el proxy de apariencia (por ejemplo, [apariencia de UITabBarItem]), o simplemente de una sola barra de pestañas. También puede proporcionar imágenes terminadas seleccionadas y no seleccionadas utilizando los métodos enumerados en "Administración de la imagen seleccionada finalizada"; Sin embargo, estos métodos no participan en la API proxy de UIAppearance (consulte UIAppearance). UIKit ahora proporciona cualquier tratamiento automático a las imágenes terminadas. Para obtener buenos resultados, debe proporcionar imágenes terminadas seleccionadas y no seleccionadas en pares coincidentes usando setFinishedSelectedImage: withFinishedUnselectedImage :.

Editar: Aquí hay otro ejemplo que usa el sistema UIAppearance y la sintaxis literal NSDictionary :

[[UITabBarItem appearance] setTitleTextAttributes:@{ UITextAttributeFont : [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeTextColor : [UIColor blackColor], UITextAttributeTextShadowColor : [UIColor grayColor], UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)]}];

Editar (por @JeremyWiebe): A partir de iOS 6, las claves del diccionario se han cambiado para ser las mismas que utiliza OS X:

NSShadow *shadow = [[NSShadow alloc] init]; shadow.shadowColor = [UIColor grayColor]; shadow.shadowOffset = CGSizeMake(0, 1.0); [[UITabBarItem appearance] setTitleTextAttributes:@{ NSFontAttributeName : [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], NSForegroundColorAttributeName : [UIColor blackColor], NSShadowAttributeName : shadow }];

con más control de apariencia en iOS 5, ¿cómo cambiamos el color de texto UITabBarItem? del blanco predeterminado a otro color?

EDITAR: solución de trabajo

[[UITabBarItem appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [UIColor blackColor], UITextAttributeTextColor, [UIColor whiteColor], UITextAttributeTextShadowColor, [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, [UIFont fontWithName:@"Rok" size:0.0], UITextAttributeFont, nil] forState:UIControlStateNormal];


Específicamente para iOS 7, intente utilizar NSForegroundColorAttributeName en lugar de UITextAttributeTextColor


No tengo suficientes puntos de reputación para agregar un comentario, así que agregaré otra respuesta aquí.

He tenido el mismo problema y busqué la hora pasada y finalmente me di cuenta de que mi problema se debía a que no puse el código en el método viewWillAppear . No estoy seguro si esto es de sentido común, ya que acabo de comenzar con objetivo-c, pero pensé que esta debería ser otra pieza de información importante para la respuesta, ya que el mismo código no funcionaba dentro de viewDidLoad.

Según esta publicación , este código solo funciona si se pone en el método viewWillAppear.


Solución de trabajo para iOS 7.0+:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor redColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], NSForegroundColorAttributeName, nil] forState:UIControlStateSelected]; }


UITextAttributeFont, UITextAttributeTextColor etc. están en desuso en iOS 7.0.

Tienes que usar:

NSFontAttributeName, NSParagraphStyleAttributeName, NSForegroundColorAttributeName, NSBackgroundColorAttributeName, NSLigatureAttributeName, NSKernAttributeName, NSStrikethroughStyleAttributeName, NSUnderlineStyleAttributeName, NSStrokeColorAttributeName, NSStrokeWidthAttributeName, NSShadowAttributeName and NSVerticalGlyphFormAttributeName


[[UITabBarItem appearance] setTitleTextAttributes:@{ UITextAttributeFont : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f], UITextAttributeTextColor : [UIColor colorWithRed:0/255.0 green:48/255.0 blue:92/255.0 alpha:1.0],} forState:UIControlStateNormal]; [[UITabBarItem appearance] setTitleTextAttributes:@{ UITextAttributeFont : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f], UITextAttributeTextColor : [UIColor colorWithRed:0/255.0 green:138/255.0 blue:196/255.0 alpha:1.0],} forState:UIControlStateSelected];