headerViewForSection未被调用

时间:2013-09-19 14:08:31

标签: ios uitableview delegates

我创建了一个新的Storyboard应用程序,为我的表创建了一个IBOutlet,实现了两个表委托。

@interface FirstViewController () <UITableViewDelegate,UITableViewDataSource>.

我还实现了可选的选择器“headerViewForSection”:

- (UITableViewHeaderFooterView *)headerViewForSection:(NSInteger)section
{
    NSLog(@"called");
    //UITableViewHeaderFooterView* header =[self.testTable headerViewForSection:0];
    UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 20)];
    label.text = @"toast";
    label.font = [UIFont fontWithName:@"Arial" size:6];
    //[header addSubview:label];
    return label;
}

不幸的是,我从未在控制台中获得“被叫”。我也试图手动调用它,但没有成功。

为什么不调用该函数?

P.S,我在构造函数中添加了:

- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
    _testTable.delegate = self;
    _testTable.dataSource = self;
}

所以我指定了委托,我不知道为什么它不起作用。

1 个答案:

答案 0 :(得分:10)

该方法是UITableView的一部分,是UIViewController不需要靠近的内部方法。

我相信你要找的是方法......

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

UITableViewDelegate的一部分。