テーブルの 一番下に追加したセルがユーザーに見えているか判断するにはどうしたらよいでしょうか。
indexPathsForVisibleRows だと、下部のツールバーに隠れて見えないセルまで見えてることになってしまいます。(みえてるとスクロールが発生しない)
しかたがないので、決め打ちハードコードで判別してるのですが、もうちょっとスマート処理できないのでしょうか?

NSInteger addedCellY = 44*addedIP.row - contentOffset.y;
// 追加したセルが見えてる。 // < 480 = 568 - 44 - 44
if(addedCellY < (self.view.frame.size.height - _bottomToolBar.frame.size.height - 44)) // 決め打ち条件判別式

=====
NSArray *visibleCellIPs = [_mytable indexPathsForVisibleRows];

if ([visibleCellIPs lastObject] == addedIP ){ // 追加したセルが見えてる場合。
// スクロールせず追加したセルをハイライトアニメ。
}
else // 追加したセルが見えてない
{ // 一番下までスクロールして、ハイライト
_isAddingCell = YES; // scrollViewDidEndScrollingAnimation: で使う。
[_mytable scrollToRowAtIndexPath:addedIP atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
if(_isAddingCell == YES){
NSIndexPath *IP = [NSIndexPath indexPathForRow:_items.count-1 inSection:0];
MYImageCell *addedCell = (MYThumCell *)[_mytable cellForRowAtIndexPath:IP];
// 一番下へ移動後、追加したセルをハイライトアニメ
} // END if
_isAddingCell = NO;
}