У меня была такая же проблема. Но я решил это, выполнив программную прокрутку до указанной строки:
NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 0.6
target: self
selector:@selector(doneScrolling)
userInfo: nil repeats:NO];
В моем случае я просто хотел выделить строку после того, как она была прокручена до.
OR
Если вы хотите, чтобы код выполнялся более быстро и не хотели ждать 0,6 секунды, вы можете выполнить цикл, чтобы проверить, видна ли еще строка, которую вы прокручивали. Используйте свойство visibleCells в UITableView. Когда он виден, вы знаете, что он выполнил прокрутку, и вы можете выполнить свой код.