Из того, что я могу сказать, к сожалению, невозможно настроить цвет текста, отображаемого в индексе, самое близкое, что я смог найти, - это возможность изменить цвет фона и шрифт индекса.
В кулинарной книге разработчиков iPhone от Эрики Садун есть код, показывающий, как получить доступ к представлению UITableViewIndex (недокументированный класс). Вы можете найти ссылку на нее на странице 175 книги, если она у вас есть. Который дает доступ к цвету фона и шрифту. Вы можете увидеть неофициальный документ, относящийся к этому классу здесь .
ПРЕДУПРЕЖДЕНИЕ Это недокументированное использование недокументированного класса, поэтому вы должны быть осторожны с его использованием.
Вот фрагмент кода из поваренной книги с небольшими изменениями:
- (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...
}
Это показывает, как вы можете получить доступ к представлению UITableViewIndex и изменить его в некоторых аспектах. Похоже, что представление не имеет никаких подпредставлений, поэтому, скорее всего, оно выполняет произвольный рисунок с массивом заголовков индекса.
Это не идеально, но, надеюсь, это немного поможет.
Пол