UITableView扩展部分生成的错误

时间:2012-06-29 07:44:57

标签: ios uitableview

我有一段扩展部分细胞行的代码片段。错误发生在xtable更新[ UIViewAnimation initWithView:indexPath:endRect:endAlpha:startFraction:endFraction:curve:animateFromCurrentPosition:shouldDeleteAfterAnimation:editing:]

代码片段

  -(void)sectionHeaderView:(SectionHeaderView*)sectionHeaderView sectionOpened:(NSInteger)sectionOpened {


SectionInfo *sectionInfo = [self.sectionInfoArray objectAtIndex:sectionOpened];

sectionInfo.open = YES;



    NSInteger countOfRowsToInsert = 5;         
NSMutableArray *indexPathsToInsert = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < countOfRowsToInsert; i++) {
    [indexPathsToInsert addObject:[NSIndexPath indexPathForRow:i inSection:sectionOpened]];
}


NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init];

NSInteger previousOpenSectionIndex = self.openSectionIndex;
if (previousOpenSectionIndex != NSNotFound) {

    SectionInfo *previousOpenSection = [self.sectionInfoArray objectAtIndex:previousOpenSectionIndex];
    previousOpenSection.open = NO;
    [previousOpenSection.headerView toggleOpenWithUserAction:NO];
    NSInteger countOfRowsToDelete = 5;    

    for (NSInteger i = 0; i < countOfRowsToDelete; i++) {
        [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:i inSection:previousOpenSectionIndex]];
    }
}

// Style the animation so that there's a smooth flow in either direction.
UITableViewRowAnimation insertAnimation;
UITableViewRowAnimation deleteAnimation;
if (previousOpenSectionIndex == NSNotFound || sectionOpened < previousOpenSectionIndex) {
    insertAnimation = UITableViewRowAnimationTop;
    deleteAnimation =UITableViewRowAnimationBottom;
}
else {
    insertAnimation = UITableViewRowAnimationBottom;
    deleteAnimation = UITableViewRowAnimationTop;
}

// Apply the updates.
[xtable beginUpdates];
[xtable insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:insertAnimation];


 [xtable deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:deleteAnimation];
[xtable  endUpdates];
self.openSectionIndex = sectionOpened;

}

可能出现什么问题?任何想法?

1 个答案:

答案 0 :(得分:0)

在我的案例中帮助了

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 0;
}