1

我想在我的 tableView 中做一个简单的改变。我有一个自定义表格视图背景,我想更改页眉和页脚文本颜色,

只有文本颜色。

我在互联网上看到,通常我们必须使用委托方法为表格视图提供一个全新的视图,但我只会更改文本颜色(以及,如果可能的话,阴影)......

有没有一种简单的方法可以避免创建新的整个视图

请帮我。

谢谢

4

4 回答 4

3

如果您希望以自定义字符串以外的任何方式自定义页眉/页脚,则需要创建一个 UIView。

这记录在UITableViewDataSource文档中:

表视图:titleForHeaderInSection:

讨论 表格视图对节标题使用固定字体样式。如果您想要不同的字体样式,请改为在委托方法 tableView:viewForHeaderInSection: 中返回自定义视图(例如,UILabel 对象)。

于 2012-07-02T17:42:51.333 回答
2

抱歉,自定义标题字体颜色的唯一方法是在委托方法中创建 UIView

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

如果您查看此处发布的答案,那么您会看到一种非常简单的方法来将其实现到您的应用程序中。您所要做的就是将该函数复制并粘贴到表视图的数据源中,然后将 UILabel 属性更改为您想要的任何内容。

这是该帖子中的代码,以方便参考:

Originally posted by Harsh:

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *tempView=[[UIView alloc]initWithFrame:CGRectMake(0,200,300,244)];
    tempView.backgroundColor=[UIColor clearColor];

    UILabel *tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(15,0,300,44)];
    tempLabel.backgroundColor=[UIColor clearColor]; 
    tempLabel.shadowColor = [UIColor blackColor];
    tempLabel.shadowOffset = CGSizeMake(0,2);
    tempLabel.textColor = [UIColor redColor]; //here u can change the text color of header
    tempLabel.font = [UIFont fontWithName:@"Helvetica" size:fontSizeForHeaders];
    tempLabel.font = [UIFont boldSystemFontOfSize:fontSizeForHeaders];
        tempLabel.text=@"Header Text";

    [tempView addSubview:tempLabel];

    [tempLabel release];
    return tempView;
}
于 2012-07-02T19:18:18.267 回答
0

鉴于如果您在没有UIView子类的情况下设置页眉/页脚,则您正在传递 a NSString,目前无法在不创建UIView.

于 2012-07-02T17:42:27.963 回答
0
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    let headerView = view as! UITableViewHeaderFooterView
    headerView.textLabel?.textColor = ...
}

我什至可以为这个标签设置属性文本

于 2021-07-07T10:07:22.713 回答