Search code examples
objective-cioscocoa-touchuitableview

Animated reloadData on UITableView


How would you anime - reloadData on UITableView? Data source is on UIFetchedResultsController so I can't play with – insertSections:withRowAnimation:, – deleteSections:withRowAnimation: wrapped in – beginUpdates, – endUpdates.

EDIT: I want to call - reloadData after NSFetchedResultsController refetch.


Solution

  • I did category method.

    - (void)reloadData:(BOOL)animated
    {
        [self reloadData];
    
        if (animated) {
    
            CATransition *animation = [CATransition animation];
            [animation setType:kCATransitionPush];
            [animation setSubtype:kCATransitionFromBottom];
            [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
            [animation setFillMode:kCAFillModeBoth];
            [animation setDuration:.3];
            [[self layer] addAnimation:animation forKey:@"UITableViewReloadDataAnimationKey"];
    
        }
    }