我想在我的 tableView 中做一个简单的改变。我有一个自定义表格视图背景,我想更改页眉和页脚文本颜色,
只有文本颜色。
我在互联网上看到,通常我们必须使用委托方法为表格视图提供一个全新的视图,但我只会更改文本颜色(以及,如果可能的话,阴影)......
有没有一种简单的方法可以避免创建新的整个视图?
请帮我。
谢谢
我想在我的 tableView 中做一个简单的改变。我有一个自定义表格视图背景,我想更改页眉和页脚文本颜色,
只有文本颜色。
我在互联网上看到,通常我们必须使用委托方法为表格视图提供一个全新的视图,但我只会更改文本颜色(以及,如果可能的话,阴影)......
有没有一种简单的方法可以避免创建新的整个视图?
请帮我。
谢谢
如果您希望以自定义字符串以外的任何方式自定义页眉/页脚,则需要创建一个 UIView。
这记录在UITableViewDataSource文档中:
表视图:titleForHeaderInSection:
讨论 表格视图对节标题使用固定字体样式。如果您想要不同的字体样式,请改为在委托方法 tableView:viewForHeaderInSection: 中返回自定义视图(例如,UILabel 对象)。
抱歉,自定义标题字体颜色的唯一方法是在委托方法中创建 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;
}
鉴于如果您在没有UIView
子类的情况下设置页眉/页脚,则您正在传递 a NSString
,目前无法在不创建UIView
.
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let headerView = view as! UITableViewHeaderFooterView
headerView.textLabel?.textColor = ...
}
我什至可以为这个标签设置属性文本