Я хочу показать индексированное представление таблицы.
По умолчанию заголовки индексов раздела имеют серый цвет.
Как изменить цвет?
Я хочу показать индексированное представление таблицы.
По умолчанию заголовки индексов раздела имеют серый цвет.
Как изменить цвет?
Я думаю, что сейчас я читаю неправильный вопрос.
если вы имеете в виду индекс A-Z, который позволяет вам перемещаться по заголовку раздела таблицы, тогда он не может быть изменен, на данный момент это невозможно. Или вы можете создать свой собственный.
FOLLOW UP
Это относится только к iOS6. Для iOS6 и выше обратитесь к ответу HpTerm.
EDIT/FOLLOW UP iOS7 (сентябрь 2013 г.). Прочитайте ответ Грэма Перкса для наблюдения за iOS7, где он объясняет о sectionIndexTrackingBackgroundColor
и sectionIndexBackgroundColor
Следуйте (сентябрь 2012) этого вопроса для будущих читателей.
Так как iOS 6 теперь можно изменить цвет текста и фона индекса. Для этого доступны две функции (см. Документацию iOS 6).
sectionIndexColor
Цвет, который будет использоваться для текста индекса таблиц.
@property(nonatomic, retain) UIColor *sectionIndexColor
Представления таблиц могут отображать индекс вдоль стороны представления, что облегчает пользователям удобное перемещение содержимого таблицы. Это свойство указывает цвет, используемый для текста, отображаемого в этой области.
Доступность: доступна в iOS 6.0 и более поздних версиях.
Объявлено в: UITableView.h
sectionIndexTrackingBackgroundColor
Цвет, который будет использоваться для области фонового рисунка таблицы.
@property(nonatomic, retain) UIColor *sectionIndexTrackingBackgroundColor
Представления таблиц могут отображать индекс вдоль стороны представления, что облегчает пользователям удобное перемещение содержимого таблицы. Это свойство указывает цвет, отображаемый на фоне индекса, когда пользователь перетаскивает его пальцем.
Доступность: доступна в iOS 6.0 и более поздних версиях.
Объявлено в: UITableView.h
В iOS 7, чтобы изменить нормальный цвет фона, используйте свойство sectionIndexBackgroundColor
.
sectionIndexTrackingBackgroundColor
- это цвет фона при отслеживании пальцем.
(Благодаря HpTerm для начальных указателей, которые отлично работают на iOS 6.)
Добавьте код ниже в viewDidLoad
(для быстрого):
tableName.sectionIndexColor = UIColor.lightGrayColor()
оптимизированный способ изменения цвета фона и цвета текста раздела раздела
- (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"]]];
}
Извините, вы не можете изменить цвет индекса.
Возможный дубликат здесь указывает на "недокументированный" способ сделать это. Я использовал его в производственном коде, он работает (не тестировался для iOS до 5.0).
Простите, немного поздно, но для всех, кто ищет ответ, вот код Swift
for view in tableView.subviews {
if view.respondsToSelector("setIndexColor:") {
view.performSelector("setIndexColor:", withObject: UIColor.yourColor())
}
}
Затем, если вы хотите получить индекс раздела как представление и делать с ним то, что хотите, вот оно:
for view in tableView.subviews {
NSStringFromClass(view.classForCoder) == "UITableViewIndex" {
// do what you want
// e.g: view.hidden = true
}
}