Как я могу изменить цвет заголовка раздела в UITableView?
РЕДАКТИРОВАТЬ : Ответ, предоставленный DJ-S следует рассмотреть для iOS 6 и выше. Принятый ответ устарел.
ios
uitableview
cocoa-touch
Илья Суздальницкий
источник
источник
Ответы:
Надеюсь, этот метод из
UITableViewDelegate
протокола поможет вам начать:Objective-C:
Swift:
Обновлено 2017:
Свифт 3:
Замените
[UIColor redColor]
на то, чтоUIColor
вы хотите. Вы также можете настроить размерыheaderView
.источник
[UIColor xxxColor]
Тем не менее, работает нормально, когда я пытаюсь использовать пользовательский цвет, подобный тому, который можно получить из фотошопа (поэтому, используяUIColor red:green:blue:alpha:
, он просто белый. Я что-то не так делаю?Это старый вопрос, но я думаю, что ответ должен быть обновлен.
Этот метод не включает определение и создание собственного пользовательского представления. В iOS 6 и выше вы можете легко изменить цвет фона и цвет текста, определив
метод делегата секции
Например:
Взято из моего поста здесь: https://happyteamlabs.com/blog/ios-how-to-customize-table-view-header-and-footer-colors/
Свифт 3/4
источник
header.contentView.backgroundColor = [UIColor blackColor];
опция даст вам непрозрачный заголовокВот как можно изменить цвет текста.
источник
Вы можете сделать это, если вы хотите заголовок с пользовательским цветом:
Это решение прекрасно работает с iOS 6.0.
источник
Следующее решение работает для Swift 1.2 с iOS 8+
источник
Установка цвета фона для UITableViewHeaderFooterView устарела. Пожалуйста, используйте
contentView.backgroundColor
вместо этого.источник
Не забудьте добавить этот фрагмент кода от делегата, иначе ваше представление будет обрезано или появится в некоторых случаях за столом, относительно высоты вашего представления / метки.
источник
Вы можете сделать это на main.storyboard примерно за 2 секунды.
источник
Если вы не хотите создавать пользовательский вид, вы также можете изменить цвет следующим образом (требуется iOS 6):
источник
Установите фон и цвет текста области раздела: (Спасибо
William Jockusch
иDj S
)источник
Swift 4
Чтобы изменить цвет фона , цвет текста этикетки и шрифт для заголовка Вид в разделе UITableView, просто переопределить
willDisplayHeaderView
для представления таблицы , как так:Это отлично сработало для меня; надеюсь, это вам тоже поможет!
источник
Вот как добавить изображение в заголовок:
источник
Для iOS8 (бета-версия) и Swift выберите нужный цвет RGB и попробуйте это:
}
(«Переопределение» существует, поскольку я использую UITableViewController вместо обычного UIViewController в моем проекте, но это не обязательно для изменения цвета заголовка раздела)
Текст вашего заголовка все равно будет виден. Обратите внимание, что вам нужно будет отрегулировать высоту заголовка раздела.
Удачи.
источник
SWIFT 2
Мне удалось успешно изменить цвет фона раздела с добавленным эффектом размытия (что действительно здорово). Чтобы легко изменить цвет фона раздела:
Затем для эффекта размытия добавьте в код:
источник
Я знаю его ответ, на всякий случай, в Swift используйте следующее
источник
iOS 8+
источник
Основываясь на ответе @Dj S, используя Swift 3. Это прекрасно работает на iOS 10.
источник
У меня есть проект, использующий статические ячейки табличного представления, в iOS 7.x. willDisplayHeaderView не срабатывает. Тем не менее, этот метод работает нормально:
источник
источник
Я думаю, что этот код не так уж и плох.
источник
Swift 4 делает это очень просто. Просто добавьте это в свой класс и установите цвет по мере необходимости.
или если простой цвет
Обновлено для Swift 5
или если простой цвет
источник
В iOS 7.0.4 я создал собственный заголовок с собственным XIB. Ничто из упомянутого здесь раньше не работало. Это должен был быть подкласс UITableViewHeaderFooterView, чтобы работать с ним,
dequeueReusableHeaderFooterViewWithIdentifier:
и кажется, что класс очень упрям в отношении цвета фона. Наконец, я добавил UIView (вы можете сделать это с помощью кода или IB) с именем customBackgroudView, а затем установил его свойство backgroundColor. В layoutSubviews: я установил рамку этого вида на границы. Работает с iOS 7 и не дает глюков.источник
Просто измените цвет слоя представления заголовка
источник
Если кому-то нужен swift, сохраните заголовок:
источник
Я получил сообщение от Xcode через консольный журнал
Затем я просто создаю новый UIView и кладу его в качестве фона HeaderView. Не хорошее решение, но оно простое, как сказал Xcode.
источник
В моем случае это сработало так:
источник
Просто установите цвет фона для фона:
источник
С RubyMotion / RedPotion вставьте это в свой настольный экран:
Работает как шарм!
источник
Для быстрой 5+
В
willDisplayHeaderView
методеЯ надеюсь, это поможет вам :]
источник
Хотя
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
это также будет работать, вы можете добиться этого без реализации другого метода делегата. в вашемfunc tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
методе вы можете использоватьview.contentView.backgroundColor = UIColor.white
вместоview.backgroundView?.backgroundColor = UIColor.white
которого не работает. (Я знаю, чтоbackgroundView
это необязательно, но даже когда он есть, это не просыпается без реализацииwillDisplayHeaderView
источник