Немного поздно, но если вы хотите продолжать использовать блоки, вы можете использовать:
animateWithDuration: Задержка: опции: анимация: полная:
добавить «UIViewAnimationOptionAllowUserInteraction» к параметрам, чтобы разрешить взаимодействие при прокрутке.
Я уверен, что у вас все еще будет проблема с отставанием. Вот лучший способ, которым я могу это объяснить. Пожалуйста, простите меня заранее, поскольку я, вероятно, использую неправильные термины Все анимации должны выполняться в главном потоке. Когда вы вызываете анимацию, iOS сначала * P * обрабатывает, а затем * R * завершает работу, прежде чем генерирует * F * rames. Похоже на это.
PPPPRRRRFFFFFFFFFFFFFFFFFF
Но поскольку ScrollViews не знают, как долго будет длиться ваша анимация или когда она закончится, она должна выполнить анимацию следующим образом.
PRFPRFPRFPRFPRFPRFPRFPRF
Моя теория заключается в том, что задержка, которую вы испытываете, связана с одновременным столкновением этих двух вызовов в главном потоке. Я не уверен, как бы вы решили эту проблему, кроме как с более быстрым чипом. Я имею в виду, что вы можете поместить одну анимацию в ЦП и одну в ГП, но я еще не настолько продвинут в программировании.