為什麼 willDisplayFooterView代理方法不被調用

tags:    時間:2013-12-03 18:40:44
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    //將要顯示最後一個cell時候進行刷新
    if (indexPath.row == [[_dataArray objectAtIndex:0] count] - 1)
    {
        UIView * footerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
        UIImageView * imageview = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"loading_line.png"]];
        imageview.frame = CGRectMake(0, 20, 320, 20);
        UIImageView * sharkView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"loading_shark.png"]];
        sharkView.frame = CGRectMake(0, 0, 30, 20);
        [imageview addSubview:sharkView];
        [footerView addSubview:imageview];
        [_tableView setTableFooterView:footerView];
        _tableView.tableFooterView.frame = CGRectMake(_tableView.tableFooterView.frame.origin.x, _tableView.tableFooterView.frame.origin.y, 320, 44);
        NSLog(@"666");

    }
    else
    {
      //  _tableView.tableFooterView = nil;
        NSLog(@"555");
    }
}

- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section
{
    if (section == 0) {
          NSLog(@"12344");
    }
  
}

為什麼 willDisplayFooterView代理方法不被調用,  willDisplaycell的方法都被調用了.
------解決方案--------------------
------解決方案--------------------
willDisplayFooterView顯示的不是你tablecell裡面最後一個cell,是footerView,當然不被調用啦
------解決方案--------------------
引用
willDisplayFooterView顯示的不是你tablecell裡面最後一個cell,是footerView,當然不被調用啦


這個我知道啊,但是我的footerview已經顯示出來了,其代理方法也沒有被調用
------解決方案--------------------
我遇到了同樣的問題,,,willDisplayFooterView還是willDisplayHeaderView這兩個方法都不走,就是不明白,不管怎麼樣,指定了代理,遵守了協議,實現了這個方法,,都應該要走啊,,,可是結果,都不走,,,,,,,,,,你現在有解決的方法了嗎?請教
------解決方案--------------------
一個就是self的delegate看看有么有設置,還有就是你的tableview葯載入在一個view視圖上,不要addsubview到一個uibutton或者uilabel上面了,
------解決方案--------------------
這裡的footer,header應該指的是section的footer以及header,不是整個tableview的footer或header
------解決方案--------------------
樓主,你要調用了這個方法后,- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 40;
}
才可以調用你所說的方法

推薦閱讀文章

Bookmark the permalink ,來源:互聯網