Ameya Ameya - 6 months ago 42
iOS Question

UITableView add cell Animation

Can any one help me out with

UITableView
animating issue?

By default we have animation for deleting cell and reordering cells in
UITableView
.

Can we have animated adding cell, if so how to do it.

I have checked out Three20, did not not get how
twitter
has done the table expand animation under MyProfile>ReTweets.

Want to try it without
Three20 frameowrk,
using the existing animation in
UITableView
.

Answer

You can use the following UITableView method:

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

Example with self.dataSource being a mutable array and your table only having 1 section:

[self.dataSource addObject:@"New Item"];
NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:[self.dataSource count]-1 inSection:0];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];

Note: Subtracted 1 from datasource count since NSIndexPath is zero indexed.