Cómo cambiar el color de fuente de los títulos de índice de sección

Quiero mostrar una vista de tabla indexada.

De forma pnetworkingeterminada, los títulos de índice de sección tienen color gris.

¿Cómo cambio su color?

Creo que leí la pregunta equivocada justo ahora.

si te refieres al índice AZ que te permite navegar por el título de la sección de tableview, entonces no se puede cambiar, no es posible por el momento. O puede crear el suyo propio.

SEGUIR

Esto solo se aplica a antes de iOS6 . Para iOS6 y posteriores, consulte la respuesta de HpTerm.

EDITAR / SEGUIR iOS7 (septiembre de 2013) Lea la respuesta de Graham Perks para un seguimiento de iOS7 donde explica sobre sectionIndexTrackingBackgroundColor y sectionIndexBackgroundColor


Seguimiento (septiembre de 2012) de esta pregunta para futuros lectores.

Desde iOS 6 ahora es posible cambiar el text y el background del color del índice. Dos funciones están disponibles para eso (ver la documentation de iOS 6).


sectionIndexColor

El color para usar para el text de índice de la vista de tabla.

 @property(nonatomic, retain) UIColor *sectionIndexColor 

Las vistas de tabla pueden mostrar un índice a lo largo del lado de la vista, lo que facilita a los usuarios navegar los contenidos de la tabla rápidamente. Esta propiedad especifica el color que se utilizará para el text que se muestra en esta región.

Disponibilidad: disponible en iOS 6.0 y posterior.

Declarado en: UITableView.h


sectionIndexTrackingBackgroundColor

El color que se utilizará para el área de background del índice de la vista de tabla.

 @property(nonatomic, retain) UIColor *sectionIndexTrackingBackgroundColor 

Las vistas de tabla pueden mostrar un índice a lo largo del lado de la vista, lo que facilita a los usuarios navegar los contenidos de la tabla rápidamente. Esta propiedad especifica el color que se mostrará en el background del índice cuando el usuario arrastre un dedo a través de él.

Disponibilidad: disponible en iOS 6.0 y posterior.

Declarado en: UITableView.h

En iOS 7 , para cambiar el color de background normal, use la propiedad sectionIndexBackgroundColor .

sectionIndexTrackingBackgroundColor es el color de background mientras realiza el seguimiento con el dedo.

(Gracias a HpTerm por los pointers iniciales que funcionan muy bien en iOS 6.)

Agregue el siguiente código en su viewDidLoad : viewDidLoad (para swift):

 tableName.sectionIndexColor = UIColor.lightGrayColor() 

forma optimizada para cambiar el color de background de la sección de índice y el color del text

 - (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { // Background color view.tintColor = [UIColor whiteColor];//[UIColor colorWithRed:77.0/255.0 green:162.0/255.0 blue:217.0/255.0 alpha:1.0]; // Text Color UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; [header.textLabel setTextColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"tableSection"]]]; } 

introduzca la descripción de la imagen aquí

Disculpa que no puedas cambiar el color del índice.

El posible duplicado aquí indica una forma "indocumentada" de hacerlo. Lo usé en código de producción, funciona (no se probó para iOS en 5.0).

Lo siento, un poco tarde, pero para todos los que están buscando una respuesta, aquí el código Swift

 for view in tableView.subviews { if view.respondsToSelector("setIndexColor:") { view.performSelector("setIndexColor:", withObject: UIColor.yourColor()) } } 

Luego, si desea get el índice de sección como vista y hacer lo que quiera con él, aquí está:

 for view in tableView.subviews { NSStringFromClass(view.classForCoder) == "UITableViewIndex" { // do what you want // eg: view.hidden = true } }