Insert UITableView row without ANY animation

This works for me:

[UIView setAnimationsEnabled:NO];
[self.tableView beginUpdates];

[self.tableView insertRowsAtIndexPaths:indexPath
                      withRowAnimation:UITableViewRowAnimationNone];

[self.tableView endUpdates];
[UIView setAnimationsEnabled:YES];

Hope this helps.


Swift example (from my chat)

UIView.performWithoutAnimation {
        messagesTable.insertRows(at: [IndexPath(row: messages.count - 1, section: 0)], with: .none)
    }

This also works

[UIView performWithoutAnimation:^{
    [self.tableView insertRowsAtIndexPaths:indexPaths:withRowAnimation:UITableViewRowAnimationNone];
});