奇怪的UITableView部分崩溃动画bug

时间:2016-02-22 11:02:07

标签: ios objective-c uitableview

我已经实现了一个可折叠的UITableView部分,当部分折叠时,部分标题的动画出现问题。

您可以看到奇怪的动画In this YouTube video...

我用慢动画录制了这个,以使故障更加明显。

切换该部分的代码如下......

- (void)toggleCollapsedSection:(NSInteger)section {
    VenueDetailsSection *sectionDetails = self.venue.detailsSections[section - 1];

    // the collapsed bool toggles returning 0 for the numberOfRowsInSection method
    sectionDetails.collapsed = !sectionDetails.isCollapsed;

    [self.tableView beginUpdates];

    NSMutableArray *indexPaths = [NSMutableArray array];

    for (int i=0 ; i<sectionDetails.details.count ; ++i) {
        [indexPaths addObject:[NSIndexPath indexPathForRow:i inSection:section]];
    }

    if (sectionDetails.isCollapsed) {
        [self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
    } else {
        [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
    }

    [self.tableView endUpdates];
}

查看Apple的示例应用程序,这与他们的代码完全相同,除了在他们的应用程序中,他们只允许一次扩展一个部分。

无论如何,有谁知道如何阻止那个奇怪的节头动画?

我不知道这是否相关,但我使用的是UITableViewHeaderFooterView部分标题,这也是他们在Apple示例应用中所做的事情。

0 个答案:

没有答案