2015-06-18 4 views
-1

У меня есть пользовательский вид прокрутки с прямоугольником внутри.Анимация кривой в ответ на скорость UIScrollView

Я хотел бы оживить кривую вдоль верхней линии этого прямоугольника так, чтобы она реагировала на скорость прокрутки. Когда это сделано, это будет выглядеть примерно так:

видео: http://capptivate.co/2015/02/01/skype-qik/

still of curved scroll view

Как бы это сделать? Приветствуются как подходы высокого уровня, так и конкретные реализации, я не уверен, как начать. (Ядро анимации? DrawRect?)

+1

mesh transforms: больше возможностей, чем необходимо, и частных. http://ciechanowski.me/blog/2014/05/14/mesh-transforms/ – SimplGy

ответ

1

Это хорошо описано здесь http://holko.pl/2014/06/26/recreating-skypes-action-sheet-animation/

Вы можете использовать путь Безье (либо в пользовательских UIView ж/drawRect:, или проще с CAShapeLayer), кривизна которого можно управлять с помощью его контрольные точки. Поэтому измените контрольные точки на основе смещения scrollview, и вы должны иметь этот эффект.

+0

Это было отличное начало для меня. Я думаю, что подход отличается от анимации на CAAnimation tick VS, реагирующей на скорость прокрутки. В вашей ссылке была найдена библиотека, основанная на скорости: https://github.com/brocoo/BRFlabbyTable/blob/master/Classes/BRFlabbyTableViewCell.m#L53 – SimplGy

+0

@SimplGy В режиме прокрутки вам не нужно иметь дело с какой-либо анимацией самостоятельно, просто измените контрольные точки в scrollViewDidScroll, и вы все настроены. – rounak

Смежные вопросы