如何在tableview中更改节标题的颜色?

AMA*_*N77 17 tableview ios swift uitableviewsectionheader

这就是我现在所拥有的.

在此输入图像描述

我如何参考这个,以便我可以更改文本颜色以匹配我的索引列表?该sectionForSectionIndexTitle运作良好的正确的章节标题添加,但究竟怎样一个接入标题元素?

或者它是不可能的,我需要重绘视图并使用viewForHeaderInSection添加它?

Anb*_*hik 52

你可以用一种UITableViewDelegate方法

swift3及以上

  func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    if let headerView = view as? UITableViewHeaderFooterView {
        headerView.contentView.backgroundColor = .white
        headerView.backgroundView?.backgroundColor = .black
        headerView.textLabel?.textColor = .red
    }
}
Run Code Online (Sandbox Code Playgroud)

目标C.

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
    if([view isKindOfClass:[UITableViewHeaderFooterView class]]){
        UITableViewHeaderFooterView * headerView = (UITableViewHeaderFooterView *) view;
        headerView.textLabel.textColor  = [UIColor RedColor];  
    }
}
Run Code Online (Sandbox Code Playgroud)

参考我从这里采取模型答案


Fed*_*llo 7

一种衬垫解决方案(使用可选的链接):

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    (view as? UITableViewHeaderFooterView)?.textLabel?.textColor = UIColor.red
}
Run Code Online (Sandbox Code Playgroud)