D'après ce que je peux dire, il n'est malheureusement pas possible de personnaliser la couleur du texte affiché dans l'index, le plus proche que j'ai pu faire est de pouvoir modifier la couleur de fond et la police de l'index.
Il y a du code dans le iPhone Developers cookbook d'Erica Sadun qui montre comment accéder à la vue UITableViewIndex (une classe non documentée). Vous pouvez en trouver la référence à la page 175 du livre si vous l'avez. Qui donne accès à la couleur de fond et à la police. Vous pouvez voir un document non officiel relatif à cette classe aquí .
AVERTISSEMENT Il s'agit d'une utilisation non documentée d'une classe non documentée, vous devez donc être prudent dans son utilisation.
Voici un extrait de code tiré du livre de recettes avec des modifications mineures :
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
for(UIView *view in [tv subviews])
{
if([[[view class] description] isEqualToString:@"UITableViewIndex"])
{
[view setBackgroundColor:[UIColor whiteColor]];
[view setFont:[UIFont systemFontOfSize:14]];
}
}
//rest of cellForRow handling...
}
Ceci illustre comment vous pouvez accéder à la vue UITableViewIndex et la modifier sous certains aspects. Il semble que la vue n'ait pas de sous-vues et qu'elle fasse probablement un dessin personnalisé avec le tableau des titres d'index.
Ce n'est pas parfait mais j'espère que ça aidera un peu.
Paul