iOS UITableViewHeaderFooterView设置背景色为透明

给UITableViewHeaderFooterView设置背景色分2种情况
1.tableView在group模式下,UITableViewHeaderFooterView的背景色默认是透明的,此时如果要设置背景色只需要给contentView设置颜色即可

self.contentView.backgroundColor = [UIColor redColor];

2.tableView在plain模式下,这个时候UITableViewHeaderFooterView默认有个浅灰色背景,如果要让背景色为clearColor,就不能直接设置self 和 self.contentView的颜色,经过测试发现,这样设置是不会生效的,正确的方式可以通过下面方法来实现

-(void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {
    if ([view isMemberOfClass:[UITableViewHeaderFooterView class]]) {
        ((UITableViewHeaderFooterView *)view).backgroundView.backgroundColor = [UIColor clearColor];
    }
}

注意isMemberOfClass和isKindOfClass的区别,目的是到这里找到你需要的UITableViewHeaderFooterView并设置背景色为透明

猜你喜欢

转载自www.cnblogs.com/qqcc1388/p/10458185.html