Мне нужно внимательно следить за масштабом представления прокрутки, чтобы я мог обновлять элементы представления содержимого (подпредставление, управляющее несколькими CALayers ) в соответствии с анимированным масштабированием представления прокрутки.
На iOS 3.1 все работает как положено, я использую zoomToRect: animated: и scrollViewDidScroll: сообщение UIScrollViewDelegate вызывается многократно, пока анимацияпроисходит , позволяя мне обновлять элементы подпредставления в соответствии с фактическим масштабированием.
Тот же код на iOS 4.0 не демонстрирует такое же поведение.Когда я вызываю zoomToRect: animated: , делегатов ( scrollViewDidScroll: и scrollViewDidZoom ) вызывают только один раз , что делает мои подэлементыдесинхронизируется до окончания анимации.На самом деле, субэлементы сразу же прыгают, а затем увлекаются анимацией масштабирования, пока все не будет в нужном месте.Это как если бы анимация не собирала изменения в подпредставлениях CALayers .
Я пробовал анимировать вручную с помощью блоков анимации, но ситуация та же, никаких прогрессивных обратных вызовов.Я также пробовал KVO, но мне не ясно, как бы я использовал анимацию, управляемую UIScrollView.
Существует ли обходной путь на iOS 4, который позволил бы мне выдвигать значение масштаба для моих подпредставлений как UIScrollView масштаб анимирован?