Изменение цвета заголовка раздела в UiableView
-
24-09-2019 - |
Вопрос
У меня довольно простой простой вопрос (я надеюсь так). Как изменить цвет заголовка раздела в UiableView по умолчанию синий до черного прозрачного? Заранее спасибо.
Решение
Вам необходимо реализовать этот метод в протоколе UiableViewDelegate:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Вот ссылка на документация
... и сделать что-то вроде этого (sub в вашем собственном цвете):
UIView *sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 22)] autorelease];
[sectionView setBackgroundColor:[UIColor blackColor]];
return sectionView;
Вы также можете использовать раздел Integer для альтернативных цветов или что-то подобное. Я думаю, что высота по умолчанию для разделов составляет 22, но вы можете сделать все, что вы хотите. Это то, что вы имели в виду под вашим вопросом? Надеюсь это поможет.
Другие советы
Это старый вопрос, но я думаю, что ответ должен быть обновлен.
Этот метод не включает в себя определение собственных пользовательских представлений.
В iOS 6 и up, вы можете легко изменить цвет фона и цвет текста, определив
- (void) Таблёс: (UiableView *) TableView Willdisplayheadeview: (UIView *) Просмотр наведения: (Nsinteger) РазделСпособ делегата.
Например:
- (void) Таблёс: (UiableView *) TableView Willdisplayheadeview: (UIView *) Просмотр наведения: (Nsinteger) Раздел {// Фон Цвет View.tintcolor = [UICOLOR BLACKCOLOR]; // Text Color UiableViewHeaderFooteview * Header = (UiableViewHeaderFooteview *) Вид; [Header.textLabel DeentextColor: [UICOLOR WHITECOLOR]]; // Еще один способ установить цвет фона // Примечание: не сохраняет эффект градиента оригинального заголовка // header.contentview.backgroundbolor = [UiColor BlackColor]; }
Взяты с моего поста здесь:https://happyteamlabs.com/blog/ios-how-to-customize-table-view-header-and-footer-volors/
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,tableView.bounds.size.width, 30)];
if (section == 0)
[headerView setBackgroundColor:[UIColor redColor]];
else
[headerView setBackgroundColor:[UIColor clearColor]];
return headerView;
}