Анимация пользовательских UIViews типа слоя-формы во время UIView.animate?

Представьте себе высокий тонкий вид, скажем, похожий на лестницу.Это 100 высотой.Мы анимируем его во всю высоту экрана.Итак, в псевдокоде ..Нет проблем.Тем не мение.Рисуем лестницу в layoutSubviews.(Наша лестница - это просто толстая черная линия.)Нет проблем.Итак, мы просто делаем линию p, которая заполняет высоту «heightNow» вида.Проблема, конечно, в том, что когда вы это делаете ...... когда вы это сделаете, ---- +: = 3 =: + ---- (или setBounds, или draw # rect, или что-то еще, что вы можете придумать) вызывается только "до и после" UIView.одушевленная анимация.Это настоящая боль.В этом примере «фактическая» лестница, shapeLayer, перейдет к следующим значениям, прежде чем вы анимируете размер представления. ЛОЖЬ: «Я пересчитал высоту!»вызывается только один раз до и один раз после анимации UIView.animate.Предполагая, что вы не обрезаете подпредставления, вы увидите «неправильный, предстоящий» размер перед каждой анимацией длиной L.)Какое решение?Кстати, конечно, вы можете сделать это с помощью draw # rect и собственной анимации, то есть с помощью CADisplayLink (как упоминал Джош).Так что это нормально.Невероятно проще рисовать фигуры, просто используя слой /путь: мой вопрос заключается в том, как в этом примере заставить код в setup () запускаться на каждом этапе анимации UIView ограничений рассматриваемого представления.
7 голосов | спросил Fattie 11 PMpTue, 11 Apr 2017 15:51:07 +030051Tuesday 2017, 15:51:07

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132