cellForRowAtIndexPath只被调用一次

时间:2013-07-17 18:04:22

标签: ios cocoa-touch uitableview

我不知道我做错了什么,但表视图的cellForRowAtIndexPath方法只被调用一次。

这是我的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

     NSLog(@"--->%d",[collaboratoresdata count]);

    return [collaboratoresdata count];

}

当我的collaboratoresdata数组被填满时,我正在调用[_collaboratortblView reloadData]来重新加载表格视图。

我在3成功获得NSLog(@"--->%d",[collaboratoresdata count]);cellForRowAtIndexPath只被调用了一次。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    // add a placeholder cell while waiting on table data

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
    }
    cell.selectionStyle=UITableViewCellSelectionStyleNone;


    NSLog(@"tableView:%d",[indexPath row]);// i am getting 0 here than after its not calling

    return cell;

}

2 个答案:

答案 0 :(得分:0)

检查细胞的高度我认为是问题

答案 1 :(得分:0)

please try to set height of cell manually(custom). So, if problem of cell height then it will be resolved. below method set cell height 30 pixels.

#pragma mark- TableView delegate Methods
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{ 
return 30.0f;
}