Есть ли способ наблюдать «прогресс времени» в UIView.animateWithDuration ... семейство методов из UIView/альтернативных анимаций CA?Наблюдайте за прогрессом UIView.animateWithDuration/CABasicAnimation?
Я оживляю рамку представления, и мне нужно знать, как она прогрессирует. Моя линия мышления был я могу либо
1) нажмите на связанные CAAnimation вещи или
2) соблюдать анимированные свойства (как кадр) и делать собственные расчеты каждого кадра экрана.
Подход 1) оказывается тупиком, проверяя внутренность того, как работа CAAnimations ничего мне не сказала ... и 2) имеет недостатки, поскольку «дерево моделей модели обновляется немедленно, а нажатие на дерево представления сложный, так как уровень презентации равен нулю при запуске.
Я довольно отчаянный, я думал, что подключение к CADisplayLink даст мне тик, а затем я просто проверю что-то, на что влияет анимация, но нет ничего, что можно было бы нажать на. Как вы думаете, идет ли путь NSTimer, который запускается в той же области, что и метод анимации, в порядке? Если я знаю продолжительность анимации, то я могу сам генерировать прогресс.
Параметр 'CADisplayLink' подход является хорошим. Просто изучите «презентационный слой» анимированного слоя. Пока слой обновляется до конечной позиции, «presentationLayer» содержит свойства слоя в середине полета. – Rob
Можете ли вы привести конкретный пример? – KudoCC
См. Http://stackoverflow.com/a/22727484/1271826 или http://stackoverflow.com/a/21659736/1271826 или http://stackoverflow.com/a/15367737/1271826. Или просто выполните поиск '' presentationLayer'' CADisplayLink'. – Rob