当前位置:编程学习 > 网站相关 >>

设置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;
}
- (UIView *) tableView:(UITableView *)tableView1 viewForHeaderInSection:(NSInteger)section
{
   
    NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
    if (sectionTitle == nil) {
        return  nil;
    }
   
    UILabel * label = [[[UILabel alloc] init] autorelease];
    label.frame = CGRectMake(0, 0, 320, 22);
//    label.backgroundColor = [UIColor clearColor];
//    label.backgroundColor = [UIColor redColor];
    label.font=[UIFont fontWithName:@"Helvetica-Bold" size:14];
    label.text = sectionTitle; www.zzzyk.com
   
    UIView * sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 220)] autorelease];
    [sectionView setBackgroundColor:[UIColor blackColor]];
    [sectionView addSubview:label];
    return sectionView;
}
需要注意的一点是:这个方法里返回视图的大小是固定不变的
 

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,