问题:willDisplayHeaderView在 iOS7下不被调用

问题

-(void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section

UITableview 的代理方法willDisplayHeaderView在 iOS7下不会被调用,但是在 iOS8及以上没有出现这个问题.

解决方法

在-(nullable UIView )tableView:(UITableView )tableView viewForHeaderInSection:(NSInteger)section 方法中,需要返回 UITableViewHeaderFooterView 这个类的实例. 所以可以将自定义的视图添加在其上面. 这样的话,以上代理便会被调用.

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
        UITableViewHeaderFooterView *HFView = [[UITableViewHeaderFooterView alloc] initWithFrame:CGRectMake(0, 0, _dishListTableView.frame.size.width, 25)];
        HFView.backgroundColor = [UIColor redColor];

        return HFView;
}

你可能感兴趣的:(headerview,iOS7不调用)