转载:http://www.cnblogs.com/Piosa/archive/2011/10/18/2216694.html#commentform   设置UITableView Section的背景颜色和字体颜色

便于查找该篇文章内容,作者写得很详细了,下面完整的复制了该博客的内容:

section所显示的灰色背景和白色字体是默认的,调用以下方法即可实现

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return [self.keys objectAtIndex:section];
}

如果想改变此处的背景与字体的话,官方没有开放接口去直接修改以上两个属性,所以,只有自己加Label,加View去实现,代码如下:

实现委托方法- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

复制代码
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView* myView = [[[UIView alloc] init] autorelease];
myView.backgroundColor = [UIColor colorWithRed:0.10 green:0.68 blue:0.94 alpha:0.7];
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 90, 22)];
titleLabel.textColor=[UIColor whiteColor];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.text=[self.keys objectAtIndex:section];
[myView addSubview:titleLabel];
[titleLabel release];
return myView;
}
复制代码

需要注意是:

1)这个方法里返回视图的大小是固定不变的;

2)The table view automatically adjusts the height of the section header to accommodate the returned view object. The table view does not call this method if it was created in a plain style (UITableViewStylePlain).

3)-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{}中的高度要和viewForHeaderInSection中的高度一致。

posted on 2012-07-26 15:18  asnow  阅读(482)  评论(0编辑  收藏  举报